Skip to content

Commit 640186f

Browse files
committed
imgtool: Rename key-ids to psa-key-ids
Since the key id concept in the PSA specific, rename the variables accordingly. Signed-off-by: Maulik Patel <maulik.patel@arm.com> Change-Id: I8a8a5ceba5554211f185cc4045a6081b6d407507
1 parent 1710246 commit 640186f

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

scripts/imgtool/image.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ def __init__(self, version=None, header_size=IMAGE_HEADER_SIZE,
277277

278278
self.image_hash = None
279279
self.image_size = None
280-
self.signature = None
280+
self.signatures = None
281281
self.version = version or versmod.decode_version("0")
282282
self.header_size = header_size
283283
self.pad_header = pad_header
@@ -299,7 +299,7 @@ def __init__(self, version=None, header_size=IMAGE_HEADER_SIZE,
299299
self.enctlv_len = 0
300300
self.max_align = max(DEFAULT_MAX_ALIGN, align) if max_align is None else int(max_align)
301301
self.non_bootable = non_bootable
302-
self.key_ids = None
302+
self.psa_key_ids = None
303303

304304
if self.max_align == DEFAULT_MAX_ALIGN:
305305
self.boot_magic = bytes([
@@ -672,9 +672,9 @@ def create(self, keys, public_key_format, enckey, dependencies=None,
672672
self.signatures = []
673673
for i, key in enumerate(keys):
674674
# If key IDs are provided, and we have enough for this key, add it first.
675-
if self.key_ids is not None and len(self.key_ids) > i:
675+
if self.psa_key_ids is not None and len(self.psa_key_ids) > i:
676676
# Convert key id (an integer) to 4-byte defined endian bytes.
677-
kid_bytes = self.key_ids[i].to_bytes(4, self.endian)
677+
kid_bytes = self.psa_key_ids[i].to_bytes(4, self.endian)
678678
tlv.add('KEYID', kid_bytes) # Using the TLV tag that corresponds to key IDs.
679679

680680
if public_key_format == 'hash':
@@ -961,9 +961,9 @@ def verify(imgfile, key):
961961
return VerifyResult.INVALID_SIGNATURE, None, None, None
962962

963963

964-
def set_key_ids(self, key_ids):
964+
def set_key_ids(self, psa_key_ids):
965965
"""Set list of key IDs (integers) to be inserted before each signature."""
966-
self.key_ids = key_ids
966+
self.psa_key_ids = psa_key_ids
967967

968968
def _add_key_id_tlv_to_unprotected(self, tlv, key_id: int):
969969
"""Add a key ID TLV into the *unprotected* TLV area."""

scripts/imgtool/main.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,7 @@ def convert(self, value, param, ctx):
449449
help='send to OUTFILE the payload or payload''s digest instead '
450450
'of complied image. These data can be used for external image '
451451
'signing')
452-
@click.option('--key-ids', multiple=True, type=int, required=False,
452+
@click.option('--psa-key-ids', multiple=True, type=int, required=False,
453453
help='List of integer key IDs for each signature.')
454454
@click.command(help='''Create a signed or unsigned image\n
455455
INFILE and OUTFILE are parsed as Intel HEX if the params have
@@ -460,7 +460,7 @@ def sign(key, public_key_format, align, version, pad_sig, header_size,
460460
dependencies, load_addr, hex_addr, erased_val, save_enctlv,
461461
security_counter, boot_record, custom_tlv, rom_fixed, max_align,
462462
clear, fix_sig, fix_sig_pubkey, sig_out, user_sha, hmac_sha, is_pure,
463-
vector_to_sign, non_bootable, key_ids):
463+
vector_to_sign, non_bootable, psa_key_ids):
464464

465465
if confirm:
466466
# Confirmed but non-padded images don't make much sense, because
@@ -476,6 +476,10 @@ def sign(key, public_key_format, align, version, pad_sig, header_size,
476476
non_bootable=non_bootable)
477477
compression_tlvs = {}
478478
img.load(infile)
479+
# If the user passed any key IDs, apply them here:
480+
if psa_key_ids:
481+
click.echo(f"Signing with PSA key IDs: {psa_key_ids}")
482+
img.set_key_ids(list(psa_key_ids))
479483
if key:
480484
loaded_keys = [load_key(k) for k in key]
481485
else:

0 commit comments

Comments
 (0)