@@ -29,6 +29,8 @@ def cmd_signing(self, args):
29
29
self .cmd_signing_setup (args [1 :])
30
30
elif args [0 ] == 'key' :
31
31
self .cmd_signing_key (args [1 :])
32
+ elif args [0 ] == 'output_key' :
33
+ self .cmd_signing_output_key (args [1 :])
32
34
elif args [0 ] == 'disable' :
33
35
self .cmd_signing_disable (args [1 :])
34
36
elif args [0 ] == 'remove' :
@@ -87,7 +89,7 @@ def allow_unsigned(self, mav, msgId):
87
89
def cmd_signing_key (self , args ):
88
90
'''set signing key on connection'''
89
91
if len (args ) == 0 :
90
- print ("usage: signing setup passphrase" )
92
+ print ("usage: signing key passphrase" )
91
93
return
92
94
if not self .master .mavlink20 ():
93
95
print ("You must be using MAVLink2 for signing" )
@@ -97,6 +99,23 @@ def cmd_signing_key(self, args):
97
99
self .master .setup_signing (key , sign_outgoing = True , allow_unsigned_callback = self .allow_unsigned )
98
100
print ("Setup signing key" )
99
101
102
+ def cmd_signing_output_key (self , args ):
103
+ '''set signing key on connection'''
104
+ if len (args ) == 0 :
105
+ print ("usage: signing output_key output_num passphrase" )
106
+ return
107
+ if not self .master .mavlink20 ():
108
+ print ("You must be using MAVLink2 for signing" )
109
+ return
110
+ output_num = int (args [0 ])
111
+ if output_num < 0 or output_num > len (self .mpstate .mav_outputs ):
112
+ print ("Bad output" )
113
+ return
114
+ passphrase = args [1 ]
115
+ key = self .passphrase_to_key (passphrase )
116
+ self .mpstate .mav_outputs [output_num ].setup_signing (key , sign_outgoing = True , allow_unsigned_callback = self .allow_unsigned )
117
+ print ("Setup signing key on output %u" % output_num )
118
+
100
119
def cmd_signing_disable (self , args ):
101
120
'''disable signing locally'''
102
121
self .master .disable_signing ()
0 commit comments