@@ -521,12 +521,11 @@ def sign(key, public_key_format, align, version, pad_sig, header_size,
521521 'Pure signatures, currently, enforces preferred hash algorithm, '
522522 'and forbids sha selection by user.' )
523523
524- img .create (key , public_key_format , enckey , dependencies , boot_record ,
524+ if compression in ["lzma2" , "lzma2armthumb" ]:
525+ img .create (key , public_key_format , enckey , dependencies , boot_record ,
525526 custom_tlvs , compression_tlvs , None , int (encrypt_keylen ), clear ,
526527 baked_signature , pub_key , vector_to_sign , user_sha = user_sha ,
527- is_pure = is_pure )
528-
529- if compression in ["lzma2" , "lzma2armthumb" ]:
528+ is_pure = is_pure , keep_comp_size = False , dont_encrypt = True )
530529 compressed_img = image .Image (version = decode_version (version ),
531530 header_size = header_size , pad_header = pad_header ,
532531 pad = pad , confirm = confirm , align = int (align ),
@@ -562,12 +561,20 @@ def sign(key, public_key_format, align, version, pad_sig, header_size,
562561 lc = comp_default_lc , lp = comp_default_lp )
563562 compressed_img .load_compressed (compressed_data , compression_header )
564563 compressed_img .base_addr = img .base_addr
564+ keep_comp_size = False ;
565+ if enckey :
566+ keep_comp_size = True
565567 compressed_img .create (key , public_key_format , enckey ,
566568 dependencies , boot_record , custom_tlvs , compression_tlvs ,
567569 compression , int (encrypt_keylen ), clear , baked_signature ,
568570 pub_key , vector_to_sign , user_sha = user_sha ,
569- is_pure = is_pure )
571+ is_pure = is_pure , keep_comp_size = keep_comp_size )
570572 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 )
571578 img .save (outfile , hex_addr )
572579 if sig_out is not None :
573580 new_signature = img .get_signature ()
0 commit comments