Skip to content

Commit e9ef5b6

Browse files
author
Lukas Puehringer
committed
Minor restructure in TAP 15 example
Generate keys for all roles in one place and rename to better distinguish delegating targets key from bins key. Signed-off-by: Lukas Puehringer <[email protected]>
1 parent 50960c4 commit e9ef5b6

File tree

1 file changed

+7
-9
lines changed

1 file changed

+7
-9
lines changed

examples/repo_example/succinct_hash_bin_delegations.py

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,9 @@ def create_key() -> Tuple[Key, SSlibSigner]:
8585
return Key.from_securesystemslib_key(sslib_key), SSlibSigner(sslib_key)
8686

8787

88-
key, signer = create_key()
88+
# Create one signing key for all bins, and one for the delegating targets role.
89+
bins_key, bins_signer = create_key()
90+
_, targets_signer = create_key()
8991

9092
# Delegating targets role
9193
# -----------------------
@@ -101,16 +103,13 @@ def create_key() -> Tuple[Key, SSlibSigner]:
101103
targets = Metadata(Targets(expires=expiration_date))
102104

103105
succinct_roles = SuccinctRoles(
104-
keyids=[],
106+
keyids=[bins_key.keyid],
105107
threshold=THRESHOLD,
106108
bit_length=BIT_LENGTH,
107109
name_prefix=NAME_PREFIX,
108110
)
109-
110-
# Now we will populate the keyids by using the succinct_roles_keys list.
111111
delegations_keys_info: Dict[str, Key] = {}
112-
succinct_roles.keyids.append(key.keyid)
113-
delegations_keys_info[key.keyid] = key
112+
delegations_keys_info[bins_key.keyid] = bins_key
114113

115114
targets.signed.delegations = Delegations(
116115
delegations_keys_info, roles=None, succinct_roles=succinct_roles
@@ -164,15 +163,14 @@ def create_key() -> Tuple[Key, SSlibSigner]:
164163
PRETTY = JSONSerializer(compact=False)
165164
TMP_DIR = tempfile.mkdtemp(dir=os.getcwd())
166165

167-
# Generate a key for targets we haven't added one up to this point.
168-
_, targets_signer = create_key()
166+
169167
targets.sign(targets_signer)
170168
targets.to_file(os.path.join(TMP_DIR, "1.targets.json"), serializer=PRETTY)
171169

172170
for bin_name, bin_target_role in delegated_bins.items():
173171
file_name = f"1.{bin_name}.json"
174172
file_path = os.path.join(TMP_DIR, file_name)
175173

176-
bin_target_role.sign(signer, append=True)
174+
bin_target_role.sign(bins_signer, append=True)
177175

178176
bin_target_role.to_file(file_path, serializer=PRETTY)

0 commit comments

Comments
 (0)