@@ -521,12 +521,11 @@ def sign(key, public_key_format, align, version, pad_sig, header_size,
521
521
'Pure signatures, currently, enforces preferred hash algorithm, '
522
522
'and forbids sha selection by user.' )
523
523
524
- img .create (key , public_key_format , enckey , dependencies , boot_record ,
524
+ if compression in ["lzma2" , "lzma2armthumb" ]:
525
+ img .create (key , public_key_format , None , dependencies , boot_record ,
525
526
custom_tlvs , compression_tlvs , None , int (encrypt_keylen ), clear ,
526
527
baked_signature , pub_key , vector_to_sign , user_sha = user_sha ,
527
528
is_pure = is_pure )
528
-
529
- if compression in ["lzma2" , "lzma2armthumb" ]:
530
529
compressed_img = image .Image (version = decode_version (version ),
531
530
header_size = header_size , pad_header = pad_header ,
532
531
pad = pad , confirm = confirm , align = int (align ),
@@ -562,11 +561,20 @@ def sign(key, public_key_format, align, version, pad_sig, header_size,
562
561
lc = comp_default_lc , lp = comp_default_lp )
563
562
compressed_img .load_compressed (compressed_data , compression_header )
564
563
compressed_img .base_addr = img .base_addr
564
+ keep_comp_size = False ;
565
+ if enckey :
566
+ keep_comp_size = True
565
567
compressed_img .create (key , public_key_format , enckey ,
566
568
dependencies , boot_record , custom_tlvs , compression_tlvs ,
567
569
compression , int (encrypt_keylen ), clear , baked_signature ,
568
- pub_key , vector_to_sign )
570
+ pub_key , vector_to_sign , user_sha = user_sha ,
571
+ is_pure = is_pure , keep_comp_size = keep_comp_size )
569
572
img = compressed_img
573
+ else :
574
+ img .create (key , public_key_format , enckey , dependencies , boot_record ,
575
+ custom_tlvs , compression_tlvs , None , int (encrypt_keylen ), clear ,
576
+ baked_signature , pub_key , vector_to_sign , user_sha = user_sha ,
577
+ is_pure = is_pure )
570
578
img .save (outfile , hex_addr )
571
579
if sig_out is not None :
572
580
new_signature = img .get_signature ()
0 commit comments