File tree Expand file tree Collapse file tree 2 files changed +14
-3
lines changed Expand file tree Collapse file tree 2 files changed +14
-3
lines changed Original file line number Diff line number Diff line change @@ -86,9 +86,14 @@ def save(self):
86
86
87
87
def load (self ):
88
88
with open (self .filename ) as f :
89
- self .sign_sk = self ._load_data ("mboot_pack_sign_secret_key" , f .readline ())
90
- self .sign_pk = self ._load_data ("mboot_pack_sign_public_key" , f .readline ())
91
- self .secretbox = self ._load_data ("mboot_pack_secretbox_key" , f .readline ())
89
+ for line in f :
90
+ for key , attr in (
91
+ ("mboot_pack_sign_secret_key" , "sign_sk" ),
92
+ ("mboot_pack_sign_public_key" , "sign_pk" ),
93
+ ("mboot_pack_secretbox_key" , "secretbox" ),
94
+ ):
95
+ if key in line :
96
+ setattr (self , attr , self ._load_data (key , line ))
92
97
93
98
94
99
def dfu_read (filename ):
@@ -135,6 +140,8 @@ def encrypt(keys, data):
135
140
136
141
137
142
def sign (keys , data ):
143
+ if not hasattr (keys , "sign_sk" ):
144
+ raise Exception ("packing a dfu requires a secret key" )
138
145
return pyhy .hydro_sign_create (data , MBOOT_PACK_HYDRO_CONTEXT , keys .sign_sk )
139
146
140
147
Original file line number Diff line number Diff line change @@ -243,6 +243,10 @@ function ci_stm32_nucleo_build {
243
243
BUILD_WB55=ports/stm32/build-NUCLEO_WB55
244
244
python3 ports/stm32/mboot/mboot_pack_dfu.py -k $BOARD_WB55 /mboot_keys.h unpack-dfu $BUILD_WB55 /firmware.pack.dfu $BUILD_WB55 /firmware.unpack.dfu
245
245
diff $BUILD_WB55 /firmware.unpack.dfu $BUILD_WB55 /firmware.dfu
246
+ # Test unpack-dfu command works without a secret key
247
+ tail -n +2 $BOARD_WB55 /mboot_keys.h > $BOARD_WB55 /mboot_keys_no_sk.h
248
+ python3 ports/stm32/mboot/mboot_pack_dfu.py -k $BOARD_WB55 /mboot_keys_no_sk.h unpack-dfu $BUILD_WB55 /firmware.pack.dfu $BUILD_WB55 /firmware.unpack_no_sk.dfu
249
+ diff $BUILD_WB55 /firmware.unpack.dfu $BUILD_WB55 /firmware.unpack_no_sk.dfu
246
250
}
247
251
248
252
# #######################################################################################
You can’t perform that action at this time.
0 commit comments