mirror of
https://github.com/theupdateframework/python-tuf
synced 2026-05-24 10:08:28 +00:00
Re-generate metadata to adopt spec version format change, using
`generate.py` plus some working around (see script below):
```
# QUICKFIX: Patch add_target to pass file paths relative to targets dir
git apply - <<EOF
diff --git a/tests/repository_data/generate.py b/tests/repository_data/generate.py
index 6c263575..699ed00f 100755
--- a/tests/repository_data/generate.py
+++ b/tests/repository_data/generate.py
@@ -119,12 +119,11 @@ if not options.dry_run:
# about the target (i.e., file permissions in octal format.)
octal_file_permissions = oct(os.stat(target1_filepath).st_mode)[4:]
file_permissions = {'file_permissions': octal_file_permissions}
-repository.targets.add_target(target1_filepath, file_permissions)
-repository.targets.add_target(target2_filepath)
+repository.targets.add_target('file1.txt', file_permissions)
+repository.targets.add_target('file2.txt')
-repository.targets.delegate('role1', [delegation_public],
- [os.path.basename(target3_filepath)])
-repository.targets('role1').add_target(target3_filepath)
+repository.targets.delegate('role1', [delegation_public], ['file3.txt'])
+repository.targets('role1').add_target('file3.txt')
repository.targets('role1').load_signing_key(delegation_private)
repository.targets('role1').delegate('role2', [delegation_public], [])
EOF
# Remove repository and client data
cd repository_data && rm -rf repository client
# Generate metadata
python generate.py
# Duplicate metadata files
cp -r client/test_repository1 client/test_repository2
# Recover non-signed file
git checkout client/map.json
```
Signed-off-by: Lukas Puehringer <lukas.puehringer@nyu.edu>
49 lines
No EOL
1.2 KiB
JSON
49 lines
No EOL
1.2 KiB
JSON
{
|
|
"signatures": [
|
|
{
|
|
"keyid": "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a",
|
|
"sig": "9408b46569e622a46f1d35d9fa3c10e17a9285631ced4f2c9c2bba2c2842413fcb796db4e81d6f988fc056c21c407fdc3c10441592cf1e837e088f2e2dfd5403"
|
|
}
|
|
],
|
|
"signed": {
|
|
"_type": "targets",
|
|
"delegations": {
|
|
"keys": {
|
|
"c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a": {
|
|
"keyid_hash_algorithms": [
|
|
"sha256",
|
|
"sha512"
|
|
],
|
|
"keytype": "ed25519",
|
|
"keyval": {
|
|
"public": "fcf224e55fa226056adf113ef1eb3d55e308b75b321c8c8316999d8c4fd9e0d9"
|
|
},
|
|
"scheme": "ed25519"
|
|
}
|
|
},
|
|
"roles": [
|
|
{
|
|
"keyids": [
|
|
"c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a"
|
|
],
|
|
"name": "role2",
|
|
"paths": [],
|
|
"terminating": false,
|
|
"threshold": 1
|
|
}
|
|
]
|
|
},
|
|
"expires": "2030-01-01T00:00:00Z",
|
|
"spec_version": "1.0.0",
|
|
"targets": {
|
|
"file3.txt": {
|
|
"hashes": {
|
|
"sha256": "141f740f53781d1ca54b8a50af22cbf74e44c21a998fa2a8a05aaac2c002886b",
|
|
"sha512": "ef5beafa16041bcdd2937140afebd485296cd54f7348ecd5a4d035c09759608de467a7ac0eb58753d0242df873c305e8bffad2454aa48f44480f15efae1cacd0"
|
|
},
|
|
"length": 28
|
|
}
|
|
},
|
|
"version": 1
|
|
}
|
|
} |