From e59eaf68bf7af0e74cd3d2ce381e6258db9b4e71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ph=C3=A9na=20Proxima?= Date: Thu, 10 Jun 2021 13:56:54 -0400 Subject: [PATCH] Create the FixtureBuilder class and a simple, happy-path fixture. --- .env | 1 + Pipfile | 27 +++ Pipfile.lock | 225 ++++++++++++++++++ build-all.py | 12 + builder.py | 177 ++++++++++++++ fixtures/simple/__init__.py | 11 + .../client/metadata/current/1.root.json | 87 +++++++ .../client/metadata/current/1.snapshot.json | 19 ++ .../client/metadata/current/1.targets.json | 19 ++ .../client/metadata/current/1.timestamp.json | 24 ++ .../client/metadata/current/2.root.json | 87 +++++++ .../client/metadata/current/2.snapshot.json | 19 ++ .../client/metadata/current/2.targets.json | 27 +++ .../client/metadata/current/2.timestamp.json | 24 ++ .../simple/client/metadata/current/root.json | 87 +++++++ .../client/metadata/current/snapshot.json | 19 ++ .../client/metadata/current/targets.json | 27 +++ .../client/metadata/current/timestamp.json | 24 ++ .../client/metadata/previous/1.root.json | 87 +++++++ .../client/metadata/previous/1.snapshot.json | 19 ++ .../client/metadata/previous/1.targets.json | 19 ++ .../client/metadata/previous/1.timestamp.json | 24 ++ .../client/metadata/previous/2.root.json | 87 +++++++ .../client/metadata/previous/2.snapshot.json | 19 ++ .../client/metadata/previous/2.targets.json | 27 +++ .../client/metadata/previous/2.timestamp.json | 24 ++ .../simple/client/metadata/previous/root.json | 87 +++++++ .../client/metadata/previous/snapshot.json | 19 ++ .../client/metadata/previous/targets.json | 27 +++ .../client/metadata/previous/timestamp.json | 24 ++ .../simple/server/metadata.staged/1.root.json | 87 +++++++ .../server/metadata.staged/1.snapshot.json | 19 ++ .../server/metadata.staged/1.targets.json | 19 ++ .../server/metadata.staged/1.timestamp.json | 24 ++ .../simple/server/metadata.staged/2.root.json | 87 +++++++ .../server/metadata.staged/2.snapshot.json | 19 ++ .../server/metadata.staged/2.targets.json | 27 +++ .../server/metadata.staged/2.timestamp.json | 24 ++ .../simple/server/metadata.staged/root.json | 87 +++++++ .../server/metadata.staged/snapshot.json | 19 ++ .../server/metadata.staged/targets.json | 27 +++ .../server/metadata.staged/timestamp.json | 24 ++ fixtures/simple/server/metadata/1.root.json | 87 +++++++ .../simple/server/metadata/1.snapshot.json | 19 ++ .../simple/server/metadata/1.targets.json | 19 ++ .../simple/server/metadata/1.timestamp.json | 24 ++ fixtures/simple/server/metadata/2.root.json | 87 +++++++ .../simple/server/metadata/2.snapshot.json | 19 ++ .../simple/server/metadata/2.targets.json | 27 +++ .../simple/server/metadata/2.timestamp.json | 24 ++ fixtures/simple/server/metadata/root.json | 87 +++++++ fixtures/simple/server/metadata/snapshot.json | 19 ++ fixtures/simple/server/metadata/targets.json | 27 +++ .../simple/server/metadata/timestamp.json | 24 ++ ...c406c6a55c105b49748d6ef392b.testtarget.txt | 1 + ...1c1f2c31be0e09a03e378151371.testtarget.txt | 1 + fixtures/simple/server/targets/testtarget.txt | 1 + keys/0_key | 1 + keys/0_key.pub | 1 + keys/10_key | 1 + keys/10_key.pub | 1 + keys/11_key | 1 + keys/11_key.pub | 1 + keys/12_key | 1 + keys/12_key.pub | 1 + keys/13_key | 1 + keys/13_key.pub | 1 + keys/14_key | 1 + keys/14_key.pub | 1 + keys/15_key | 1 + keys/15_key.pub | 1 + keys/16_key | 1 + keys/16_key.pub | 1 + keys/17_key | 1 + keys/17_key.pub | 1 + keys/18_key | 1 + keys/18_key.pub | 1 + keys/19_key | 1 + keys/19_key.pub | 1 + keys/1_key | 1 + keys/1_key.pub | 1 + keys/2_key | 1 + keys/2_key.pub | 1 + keys/3_key | 1 + keys/3_key.pub | 1 + keys/4_key | 1 + keys/4_key.pub | 1 + keys/5_key | 1 + keys/5_key.pub | 1 + keys/6_key | 1 + keys/6_key.pub | 1 + keys/7_key | 1 + keys/7_key.pub | 1 + keys/8_key | 1 + keys/8_key.pub | 1 + keys/9_key | 1 + keys/9_key.pub | 1 + keys/README.md | 6 + keys/regenerate.py | 13 + 99 files changed, 2367 insertions(+) create mode 100644 .env create mode 100644 Pipfile create mode 100644 Pipfile.lock create mode 100644 build-all.py create mode 100644 builder.py create mode 100644 fixtures/simple/__init__.py create mode 100644 fixtures/simple/client/metadata/current/1.root.json create mode 100644 fixtures/simple/client/metadata/current/1.snapshot.json create mode 100644 fixtures/simple/client/metadata/current/1.targets.json create mode 100644 fixtures/simple/client/metadata/current/1.timestamp.json create mode 100644 fixtures/simple/client/metadata/current/2.root.json create mode 100644 fixtures/simple/client/metadata/current/2.snapshot.json create mode 100644 fixtures/simple/client/metadata/current/2.targets.json create mode 100644 fixtures/simple/client/metadata/current/2.timestamp.json create mode 100644 fixtures/simple/client/metadata/current/root.json create mode 100644 fixtures/simple/client/metadata/current/snapshot.json create mode 100644 fixtures/simple/client/metadata/current/targets.json create mode 100644 fixtures/simple/client/metadata/current/timestamp.json create mode 100644 fixtures/simple/client/metadata/previous/1.root.json create mode 100644 fixtures/simple/client/metadata/previous/1.snapshot.json create mode 100644 fixtures/simple/client/metadata/previous/1.targets.json create mode 100644 fixtures/simple/client/metadata/previous/1.timestamp.json create mode 100644 fixtures/simple/client/metadata/previous/2.root.json create mode 100644 fixtures/simple/client/metadata/previous/2.snapshot.json create mode 100644 fixtures/simple/client/metadata/previous/2.targets.json create mode 100644 fixtures/simple/client/metadata/previous/2.timestamp.json create mode 100644 fixtures/simple/client/metadata/previous/root.json create mode 100644 fixtures/simple/client/metadata/previous/snapshot.json create mode 100644 fixtures/simple/client/metadata/previous/targets.json create mode 100644 fixtures/simple/client/metadata/previous/timestamp.json create mode 100644 fixtures/simple/server/metadata.staged/1.root.json create mode 100644 fixtures/simple/server/metadata.staged/1.snapshot.json create mode 100644 fixtures/simple/server/metadata.staged/1.targets.json create mode 100644 fixtures/simple/server/metadata.staged/1.timestamp.json create mode 100644 fixtures/simple/server/metadata.staged/2.root.json create mode 100644 fixtures/simple/server/metadata.staged/2.snapshot.json create mode 100644 fixtures/simple/server/metadata.staged/2.targets.json create mode 100644 fixtures/simple/server/metadata.staged/2.timestamp.json create mode 100644 fixtures/simple/server/metadata.staged/root.json create mode 100644 fixtures/simple/server/metadata.staged/snapshot.json create mode 100644 fixtures/simple/server/metadata.staged/targets.json create mode 100644 fixtures/simple/server/metadata.staged/timestamp.json create mode 100644 fixtures/simple/server/metadata/1.root.json create mode 100644 fixtures/simple/server/metadata/1.snapshot.json create mode 100644 fixtures/simple/server/metadata/1.targets.json create mode 100644 fixtures/simple/server/metadata/1.timestamp.json create mode 100644 fixtures/simple/server/metadata/2.root.json create mode 100644 fixtures/simple/server/metadata/2.snapshot.json create mode 100644 fixtures/simple/server/metadata/2.targets.json create mode 100644 fixtures/simple/server/metadata/2.timestamp.json create mode 100644 fixtures/simple/server/metadata/root.json create mode 100644 fixtures/simple/server/metadata/snapshot.json create mode 100644 fixtures/simple/server/metadata/targets.json create mode 100644 fixtures/simple/server/metadata/timestamp.json create mode 100644 fixtures/simple/server/targets/17dd75df5d24fb7c29cf8ad4c993e53b60933f5adf424071c8634569c756c84de863415fdc9b444ef7794875997b60615bdcdc406c6a55c105b49748d6ef392b.testtarget.txt create mode 100644 fixtures/simple/server/targets/c9e2a718ba4f180100e413382c9bee5759df61c1f2c31be0e09a03e378151371.testtarget.txt create mode 100644 fixtures/simple/server/targets/testtarget.txt create mode 100644 keys/0_key create mode 100644 keys/0_key.pub create mode 100644 keys/10_key create mode 100644 keys/10_key.pub create mode 100644 keys/11_key create mode 100644 keys/11_key.pub create mode 100644 keys/12_key create mode 100644 keys/12_key.pub create mode 100644 keys/13_key create mode 100644 keys/13_key.pub create mode 100644 keys/14_key create mode 100644 keys/14_key.pub create mode 100644 keys/15_key create mode 100644 keys/15_key.pub create mode 100644 keys/16_key create mode 100644 keys/16_key.pub create mode 100644 keys/17_key create mode 100644 keys/17_key.pub create mode 100644 keys/18_key create mode 100644 keys/18_key.pub create mode 100644 keys/19_key create mode 100644 keys/19_key.pub create mode 100644 keys/1_key create mode 100644 keys/1_key.pub create mode 100644 keys/2_key create mode 100644 keys/2_key.pub create mode 100644 keys/3_key create mode 100644 keys/3_key.pub create mode 100644 keys/4_key create mode 100644 keys/4_key.pub create mode 100644 keys/5_key create mode 100644 keys/5_key.pub create mode 100644 keys/6_key create mode 100644 keys/6_key.pub create mode 100644 keys/7_key create mode 100644 keys/7_key.pub create mode 100644 keys/8_key create mode 100644 keys/8_key.pub create mode 100644 keys/9_key create mode 100644 keys/9_key.pub create mode 100644 keys/README.md create mode 100644 keys/regenerate.py diff --git a/.env b/.env new file mode 100644 index 0000000..ae53c39 --- /dev/null +++ b/.env @@ -0,0 +1 @@ +PYTHONPATH=. diff --git a/Pipfile b/Pipfile new file mode 100644 index 0000000..33ff0a9 --- /dev/null +++ b/Pipfile @@ -0,0 +1,27 @@ +[[source]] +name = "pypi" +url = "https://pypi.org/simple" +verify_ssl = true + +[dev-packages] + +[packages] +certifi = "==2020.6.20" +cffi = "==1.14.2" +chardet = "==3.0.4" +colorama = "==0.4.3" +cryptography = "==3.3.2" +idna = "==2.10" +iso8601 = "==0.1.12" +pycparser = "==2.20" +python-dateutil = "==2.8.1" +requests = "==2.24.0" +securesystemslib = "==0.20.1" +six = "==1.15.0" +tuf = "==0.14.0" +urllib3 = "==1.25.10" +PyNaCl = "==1.4.0" +flake8 = "*" + +[requires] +python_version = "3.9" diff --git a/Pipfile.lock b/Pipfile.lock new file mode 100644 index 0000000..7c04906 --- /dev/null +++ b/Pipfile.lock @@ -0,0 +1,225 @@ +{ + "_meta": { + "hash": { + "sha256": "ec111539fe7758a4f607b1326c8e2d8528e2680277198a05d3f4421a1ca4e0e7" + }, + "pipfile-spec": 6, + "requires": { + "python_version": "3.9" + }, + "sources": [ + { + "name": "pypi", + "url": "https://pypi.org/simple", + "verify_ssl": true + } + ] + }, + "default": { + "certifi": { + "hashes": [ + "sha256:5930595817496dd21bb8dc35dad090f1c2cd0adfaf21204bf6732ca5d8ee34d3", + "sha256:8fc0819f1f30ba15bdb34cceffb9ef04d99f420f68eb75d901e9560b8749fc41" + ], + "index": "pypi", + "version": "==2020.6.20" + }, + "cffi": { + "hashes": [ + "sha256:0da50dcbccd7cb7e6c741ab7912b2eff48e85af217d72b57f80ebc616257125e", + "sha256:12a453e03124069b6896107ee133ae3ab04c624bb10683e1ed1c1663df17c13c", + "sha256:15419020b0e812b40d96ec9d369b2bc8109cc3295eac6e013d3261343580cc7e", + "sha256:15a5f59a4808f82d8ec7364cbace851df591c2d43bc76bcbe5c4543a7ddd1bf1", + "sha256:23e44937d7695c27c66a54d793dd4b45889a81b35c0751ba91040fe825ec59c4", + "sha256:29c4688ace466a365b85a51dcc5e3c853c1d283f293dfcc12f7a77e498f160d2", + "sha256:57214fa5430399dffd54f4be37b56fe22cedb2b98862550d43cc085fb698dc2c", + "sha256:577791f948d34d569acb2d1add5831731c59d5a0c50a6d9f629ae1cefd9ca4a0", + "sha256:6539314d84c4d36f28d73adc1b45e9f4ee2a89cdc7e5d2b0a6dbacba31906798", + "sha256:65867d63f0fd1b500fa343d7798fa64e9e681b594e0a07dc934c13e76ee28fb1", + "sha256:672b539db20fef6b03d6f7a14b5825d57c98e4026401fce838849f8de73fe4d4", + "sha256:6843db0343e12e3f52cc58430ad559d850a53684f5b352540ca3f1bc56df0731", + "sha256:7057613efefd36cacabbdbcef010e0a9c20a88fc07eb3e616019ea1692fa5df4", + "sha256:76ada88d62eb24de7051c5157a1a78fd853cca9b91c0713c2e973e4196271d0c", + "sha256:837398c2ec00228679513802e3744d1e8e3cb1204aa6ad408b6aff081e99a487", + "sha256:8662aabfeab00cea149a3d1c2999b0731e70c6b5bac596d95d13f643e76d3d4e", + "sha256:95e9094162fa712f18b4f60896e34b621df99147c2cee216cfa8f022294e8e9f", + "sha256:99cc66b33c418cd579c0f03b77b94263c305c389cb0c6972dac420f24b3bf123", + "sha256:9b219511d8b64d3fa14261963933be34028ea0e57455baf6781fe399c2c3206c", + "sha256:ae8f34d50af2c2154035984b8b5fc5d9ed63f32fe615646ab435b05b132ca91b", + "sha256:b9aa9d8818c2e917fa2c105ad538e222a5bce59777133840b93134022a7ce650", + "sha256:bf44a9a0141a082e89c90e8d785b212a872db793a0080c20f6ae6e2a0ebf82ad", + "sha256:c0b48b98d79cf795b0916c57bebbc6d16bb43b9fc9b8c9f57f4cf05881904c75", + "sha256:da9d3c506f43e220336433dffe643fbfa40096d408cb9b7f2477892f369d5f82", + "sha256:e4082d832e36e7f9b2278bc774886ca8207346b99f278e54c9de4834f17232f7", + "sha256:e4b9b7af398c32e408c00eb4e0d33ced2f9121fd9fb978e6c1b57edd014a7d15", + "sha256:e613514a82539fc48291d01933951a13ae93b6b444a88782480be32245ed4afa", + "sha256:f5033952def24172e60493b68717792e3aebb387a8d186c43c020d9363ee7281" + ], + "index": "pypi", + "version": "==1.14.2" + }, + "chardet": { + "hashes": [ + "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", + "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691" + ], + "index": "pypi", + "version": "==3.0.4" + }, + "colorama": { + "hashes": [ + "sha256:7d73d2a99753107a36ac6b455ee49046802e59d9d076ef8e47b61499fa29afff", + "sha256:e96da0d330793e2cb9485e9ddfd918d456036c7149416295932478192f4436a1" + ], + "index": "pypi", + "version": "==0.4.3" + }, + "cryptography": { + "hashes": [ + "sha256:0d7b69674b738068fa6ffade5c962ecd14969690585aaca0a1b1fc9058938a72", + "sha256:1bd0ccb0a1ed775cd7e2144fe46df9dc03eefd722bbcf587b3e0616ea4a81eff", + "sha256:3c284fc1e504e88e51c428db9c9274f2da9f73fdf5d7e13a36b8ecb039af6e6c", + "sha256:49570438e60f19243e7e0d504527dd5fe9b4b967b5a1ff21cc12b57602dd85d3", + "sha256:541dd758ad49b45920dda3b5b48c968f8b2533d8981bcdb43002798d8f7a89ed", + "sha256:5a60d3780149e13b7a6ff7ad6526b38846354d11a15e21068e57073e29e19bed", + "sha256:7951a966613c4211b6612b0352f5bf29989955ee592c4a885d8c7d0f830d0433", + "sha256:922f9602d67c15ade470c11d616f2b2364950602e370c76f0c94c94ae672742e", + "sha256:a0f0b96c572fc9f25c3f4ddbf4688b9b38c69836713fb255f4a2715d93cbaf44", + "sha256:a777c096a49d80f9d2979695b835b0f9c9edab73b59e4ceb51f19724dda887ed", + "sha256:a9a4ac9648d39ce71c2f63fe7dc6db144b9fa567ddfc48b9fde1b54483d26042", + "sha256:aa4969f24d536ae2268c902b2c3d62ab464b5a66bcb247630d208a79a8098e9b", + "sha256:c7390f9b2119b2b43160abb34f63277a638504ef8df99f11cb52c1fda66a2e6f", + "sha256:e18e6ab84dfb0ab997faf8cca25a86ff15dfea4027b986322026cc99e0a892da" + ], + "index": "pypi", + "version": "==3.3.2" + }, + "flake8": { + "hashes": [ + "sha256:07528381786f2a6237b061f6e96610a4167b226cb926e2aa2b6b1d78057c576b", + "sha256:bf8fd333346d844f616e8d47905ef3a3384edae6b4e9beb0c5101e25e3110907" + ], + "index": "pypi", + "version": "==3.9.2" + }, + "idna": { + "hashes": [ + "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6", + "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0" + ], + "index": "pypi", + "version": "==2.10" + }, + "iso8601": { + "hashes": [ + "sha256:210e0134677cc0d02f6028087fee1df1e1d76d372ee1db0bf30bf66c5c1c89a3", + "sha256:49c4b20e1f38aa5cf109ddcd39647ac419f928512c869dc01d5c7098eddede82", + "sha256:bbbae5fb4a7abfe71d4688fd64bff70b91bbd74ef6a99d964bab18f7fdf286dd" + ], + "index": "pypi", + "version": "==0.1.12" + }, + "mccabe": { + "hashes": [ + "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42", + "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f" + ], + "version": "==0.6.1" + }, + "pycodestyle": { + "hashes": [ + "sha256:514f76d918fcc0b55c6680472f0a37970994e07bbb80725808c17089be302068", + "sha256:c389c1d06bf7904078ca03399a4816f974a1d590090fecea0c63ec26ebaf1cef" + ], + "version": "==2.7.0" + }, + "pycparser": { + "hashes": [ + "sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0", + "sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705" + ], + "index": "pypi", + "version": "==2.20" + }, + "pyflakes": { + "hashes": [ + "sha256:7893783d01b8a89811dd72d7dfd4d84ff098e5eed95cfa8905b22bbffe52efc3", + "sha256:f5bc8ecabc05bb9d291eb5203d6810b49040f6ff446a756326104746cc00c1db" + ], + "version": "==2.3.1" + }, + "pynacl": { + "hashes": [ + "sha256:06cbb4d9b2c4bd3c8dc0d267416aaed79906e7b33f114ddbf0911969794b1cc4", + "sha256:11335f09060af52c97137d4ac54285bcb7df0cef29014a1a4efe64ac065434c4", + "sha256:2fe0fc5a2480361dcaf4e6e7cea00e078fcda07ba45f811b167e3f99e8cff574", + "sha256:30f9b96db44e09b3304f9ea95079b1b7316b2b4f3744fe3aaecccd95d547063d", + "sha256:4e10569f8cbed81cb7526ae137049759d2a8d57726d52c1a000a3ce366779634", + "sha256:511d269ee845037b95c9781aa702f90ccc36036f95d0f31373a6a79bd8242e25", + "sha256:537a7ccbea22905a0ab36ea58577b39d1fa9b1884869d173b5cf111f006f689f", + "sha256:54e9a2c849c742006516ad56a88f5c74bf2ce92c9f67435187c3c5953b346505", + "sha256:757250ddb3bff1eecd7e41e65f7f833a8405fede0194319f87899690624f2122", + "sha256:7757ae33dae81c300487591c68790dfb5145c7d03324000433d9a2c141f82af7", + "sha256:7c6092102219f59ff29788860ccb021e80fffd953920c4a8653889c029b2d420", + "sha256:8122ba5f2a2169ca5da936b2e5a511740ffb73979381b4229d9188f6dcb22f1f", + "sha256:9c4a7ea4fb81536c1b1f5cc44d54a296f96ae78c1ebd2311bd0b60be45a48d96", + "sha256:c914f78da4953b33d4685e3cdc7ce63401247a21425c16a39760e282075ac4a6", + "sha256:cd401ccbc2a249a47a3a1724c2918fcd04be1f7b54eb2a5a71ff915db0ac51c6", + "sha256:d452a6746f0a7e11121e64625109bc4468fc3100452817001dbe018bb8b08514", + "sha256:ea6841bc3a76fa4942ce00f3bda7d436fda21e2d91602b9e21b7ca9ecab8f3ff", + "sha256:f8851ab9041756003119368c1e6cd0b9c631f46d686b3904b18c0139f4419f80" + ], + "index": "pypi", + "version": "==1.4.0" + }, + "python-dateutil": { + "hashes": [ + "sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c", + "sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a" + ], + "index": "pypi", + "version": "==2.8.1" + }, + "requests": { + "hashes": [ + "sha256:b3559a131db72c33ee969480840fff4bb6dd111de7dd27c8ee1f820f4f00231b", + "sha256:fe75cc94a9443b9246fc7049224f75604b113c36acb93f87b80ed42c44cbb898" + ], + "index": "pypi", + "version": "==2.24.0" + }, + "securesystemslib": { + "hashes": [ + "sha256:a8213cfaf61f6865417a50739e2ef614b6dd781cd8600b625eb65c753bfecd35", + "sha256:c7a568684f149a1dbf6ae4991ca895d356d6ba6fa0474ae40e90e0c6e43c70be" + ], + "index": "pypi", + "version": "==0.20.1" + }, + "six": { + "hashes": [ + "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259", + "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced" + ], + "index": "pypi", + "version": "==1.15.0" + }, + "tuf": { + "hashes": [ + "sha256:b54bc82daa096e7ea26002c069d2473087dd80bdc1489a4c0f21cae5980aef42", + "sha256:d9b6151674b3e157e166192ffc90378cbe4d25a4692703b85b57022360a3c330" + ], + "index": "pypi", + "version": "==0.14.0" + }, + "urllib3": { + "hashes": [ + "sha256:91056c15fa70756691db97756772bb1eb9678fa585d9184f24534b100dc60f4a", + "sha256:e7983572181f5e1522d9c98453462384ee92a0be7fac5f1413a1e35c56cc0461" + ], + "index": "pypi", + "version": "==1.25.10" + } + }, + "develop": {} +} diff --git a/build-all.py b/build-all.py new file mode 100644 index 0000000..ac3d675 --- /dev/null +++ b/build-all.py @@ -0,0 +1,12 @@ +from fixtures import ( + simple +) +from unittest import mock + + +@mock.patch('time.time', mock.MagicMock(return_value=1577836800)) +def build_all(): + simple.build() + + +build_all() diff --git a/builder.py b/builder.py new file mode 100644 index 0000000..2472a61 --- /dev/null +++ b/builder.py @@ -0,0 +1,177 @@ +""" +Contains a class to help build fixtures programmatically. +""" + +from securesystemslib import formats, signer +from tuf import repository_tool +from unittest import mock + +import json +import os +import shutil + + +class FixtureBuilder: + + def __init__(self, name): + self.dir = os.path.join(os.path.dirname(__file__), 'fixtures', name) + + # The index of the next key pair (in the keys/ directory) to use when initializing + # a role. + self._key_index = 0 + # The keychain, containing all public and private keys. The dictionary + # keys are role names, and each item is a dictionary with 'public' and + # 'private' members, which are lists of public and private keys. + self._keys = {} + # The directory of server-side metadata (and targets). + self._server_dir = os.path.join(self.dir, 'server') + + # If a directory of server-side metadata already exists, remove it. + if os.path.isdir(self._server_dir): + shutil.rmtree(self._server_dir) + + self.repository = repository_tool.create_new_repository(self._server_dir, name) + self.repository.status() + + # Initialize the basic TUF roles. + self.add_key('root') + self.add_key('targets') + self.add_key('snapshot') + self.add_key('timestamp') + + # @todo: Consider removing this line. Do we really need to publish the + # repository immediately after initializing it? + self.publish() + + self.repository.status() + + def _role(self, name): + """Loads a role object for a specific role.""" + try: + return getattr(self.repository, name) + except AttributeError: + return self.repository.targets(name) + + def delegate(self, role_name, paths, parent='targets'): + """Creates a delegated role.""" + self._role(parent).delegate(role_name, [], paths) + self.add_key(role_name) + return self + + def add_key(self, role_name): + """Loads a key pair from disk and assigns it to a given role.""" + (public_key, private_key) = self._import_key(role_name) + + role = self._role(role_name) + role.add_verification_key(public_key) + role.load_signing_key(private_key) + + if role_name not in self._keys: + self._keys[role_name] = {'public': [], 'private': []} + + self._keys[role_name]['public'].append(public_key) + self._keys[role_name]['private'].append(private_key) + + self.repository.mark_dirty([role_name]) + + return self + + def revoke_key(self, role_name, key_index=0): + """Revokes a key pair from a given role.""" + public_key = self._keys[role_name]['public'].pop(key_index) + self._role(role_name).remove_verification_key(public_key) + self._keys[role_name]['private'].pop(key_index) + + return self + + def _import_key(self, role_name): + """Loads a key pair from the keys/ directory.""" + keys_dir = os.path.join(os.path.dirname(__file__), 'keys') + private_key = os.path.join(keys_dir, str(self._key_index)) + '_key' + public_key = '{}.pub'.format(private_key) + + print("Using key", self._key_index, "for", role_name) + self._key_index = self._key_index + 1 + + return ( + repository_tool.import_ed25519_publickey_from_file(public_key), + repository_tool.import_ed25519_privatekey_from_file(private_key, password='pw') + ) + + def invalidate(self): + """Marks the four main TUF roles as dirty.""" + self.repository.mark_dirty(['root', 'snapshot', 'timestamp', 'targets']) + return self + + def add_target(self, filename, signing_role='targets'): + """Adds an existing target file and signs it.""" + self._role(signing_role).add_targets([filename]) + self.repository.mark_dirty(['snapshot', 'targets', 'timestamp', signing_role]) + + return self + + def create_target(self, filename, contents=None, signing_role='targets'): + """Creates a signed target file with arbitrary contents.""" + if contents is None: + contents = 'Contents: ' + filename + + path = os.path.join(self._server_dir, 'targets', filename) + with open(path, 'w') as f: + f.write(contents) + + self.add_target(filename, signing_role) + + return self + + def publish(self, with_client=False): + """Writes the TUF metadata to disk.""" + self.repository.writeall(consistent_snapshot=True) + + staging_dir = os.path.join(self._server_dir, 'metadata.staged') + live_dir = os.path.join(self._server_dir, 'metadata') + shutil.copytree(staging_dir, live_dir, dirs_exist_ok=True) + + if with_client: + client_dir = os.path.join(self.dir, 'client') + # If a directory of client-side metadata already exists, remove it. + if os.path.isdir(client_dir): + shutil.rmtree(client_dir) + + repository_tool.create_tuf_client_directory(self._server_dir, client_dir) + + return self + + def read(self, filename): + """Returns the parsed contents of an existing metadata file.""" + path = os.path.join(self._server_dir, 'metadata', filename) + + with open(path, 'r') as f: + return json.load(f) + + def write(self, filename, data): + path = os.path.join(self._server_dir, 'metadata', filename) + + with open(path, 'w') as f: + json.dump(data, f, indent=1, separators=(',', ': '), sort_keys=True) + + def write_signed(self, filename, data, signing_role): + """Writes arbitrary metadata, signed with a given role's keys, to a file.""" + self.write(filename, { + 'signatures': self._sign(data, signing_role), + 'signed': data + }) + + def _sign(self, data, signing_role): + """Signs arbitrary data using a given role's keys.""" + signatures = [] + + # Encode the data to canonical JSON, which is what we will actually sign. + data = str.encode(formats.encode_canonical(data)) + + # Loop through the signing role's private keys and use each one to sign + # the canonical JSON representation of the data. + for key in self._keys[signing_role]['private']: + signature = signer.SSlibSigner(key).sign(data) + signatures.append(signature.to_dict()) + + return signatures diff --git a/fixtures/simple/__init__.py b/fixtures/simple/__init__.py new file mode 100644 index 0000000..6334f61 --- /dev/null +++ b/fixtures/simple/__init__.py @@ -0,0 +1,11 @@ +""" +Generates a simple fixture with a single, valid target file. +""" + +from builder import FixtureBuilder + + +def build(): + FixtureBuilder('simple')\ + .create_target('testtarget.txt')\ + .publish(with_client=True) diff --git a/fixtures/simple/client/metadata/current/1.root.json b/fixtures/simple/client/metadata/current/1.root.json new file mode 100644 index 0000000..0898610 --- /dev/null +++ b/fixtures/simple/client/metadata/current/1.root.json @@ -0,0 +1,87 @@ +{ + "signatures": [ + { + "keyid": "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129", + "sig": "d0bf76a5cfc0aee1b8a1b1bf0ed8ca646a1a6d5f205945c515e8546bfd3c1e6b5e07cc0b93836bd030dd05ba68f177aecb05f6bf90c6702fd178e53310022506" + } + ], + "signed": { + "_type": "root", + "consistent_snapshot": true, + "expires": "2020-12-31T05:48:20Z", + "keys": { + "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "6bac59b8d9e1aae02fae6fba6e7fe3fc9fe5b4a9fe98c3fca255d8c8ec3e5b35" + }, + "scheme": "ed25519" + }, + "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "6400d770c7c1bce4b3d59ce0079ed686e843b6500bbea77d869a1ae7df4565a1" + }, + "scheme": "ed25519" + }, + "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "28bf74baa87ed923f8fa27e3292684f8ec4730ce0bdc65150ed58199206ce089" + }, + "scheme": "ed25519" + }, + "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "e6ae9d3b67d7b3ce274130291dd90287f32b8fd72bfb4ac5430859ebd1c28a46" + }, + "scheme": "ed25519" + } + }, + "roles": { + "root": { + "keyids": [ + "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129" + ], + "threshold": 1 + }, + "snapshot": { + "keyids": [ + "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93" + ], + "threshold": 1 + }, + "targets": { + "keyids": [ + "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4" + ], + "threshold": 1 + }, + "timestamp": { + "keyids": [ + "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae" + ], + "threshold": 1 + } + }, + "spec_version": "1.0.0", + "version": 1 + } +} \ No newline at end of file diff --git a/fixtures/simple/client/metadata/current/1.snapshot.json b/fixtures/simple/client/metadata/current/1.snapshot.json new file mode 100644 index 0000000..dcbd2f4 --- /dev/null +++ b/fixtures/simple/client/metadata/current/1.snapshot.json @@ -0,0 +1,19 @@ +{ + "signatures": [ + { + "keyid": "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93", + "sig": "61db8765350398f7f750853337d9a55c5d6e790812d29146b5b45d5fd43d2a42c474a7a9fab263c3a50a28114a82f79dbf24ff1f99ae737a8d06f332f9f7d103" + } + ], + "signed": { + "_type": "snapshot", + "expires": "2020-01-08T00:00:00Z", + "meta": { + "targets.json": { + "version": 1 + } + }, + "spec_version": "1.0.0", + "version": 1 + } +} \ No newline at end of file diff --git a/fixtures/simple/client/metadata/current/1.targets.json b/fixtures/simple/client/metadata/current/1.targets.json new file mode 100644 index 0000000..820691e --- /dev/null +++ b/fixtures/simple/client/metadata/current/1.targets.json @@ -0,0 +1,19 @@ +{ + "signatures": [ + { + "keyid": "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4", + "sig": "c150e8ed5d352f366a979f4c4b9d556350c414c2da7ef1279045aaed3438c60872142d0dfe5ddbb627fec2d8fb7c5d8e692e04a87230b78d74714c5db035620a" + } + ], + "signed": { + "_type": "targets", + "delegations": { + "keys": {}, + "roles": [] + }, + "expires": "2020-04-01T07:27:10Z", + "spec_version": "1.0.0", + "targets": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/fixtures/simple/client/metadata/current/1.timestamp.json b/fixtures/simple/client/metadata/current/1.timestamp.json new file mode 100644 index 0000000..aae05fb --- /dev/null +++ b/fixtures/simple/client/metadata/current/1.timestamp.json @@ -0,0 +1,24 @@ +{ + "signatures": [ + { + "keyid": "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae", + "sig": "1d668531c7a0960cf90825faa684106a8aef0799c1b47e72301bac45d87f2dd42c14f1a3ac7db862323ca5177dd4fd686573ea92aea99638f17414dde561c00b" + } + ], + "signed": { + "_type": "timestamp", + "expires": "2020-01-02T00:00:00Z", + "meta": { + "snapshot.json": { + "hashes": { + "sha256": "f4ca389c2c9fbc592d91d4e693c31113b8803a11bcb5ecd973581fa0e3d34ce0", + "sha512": "92a0989e44c0e9f16d3e56268a3b8dd4e4416ee2ac91a4c871a405f1e426062651ec4effa0078fc4409c8b0422ccad9b1aa197db58f178406f398562b2e98195" + }, + "length": 431, + "version": 1 + } + }, + "spec_version": "1.0.0", + "version": 1 + } +} \ No newline at end of file diff --git a/fixtures/simple/client/metadata/current/2.root.json b/fixtures/simple/client/metadata/current/2.root.json new file mode 100644 index 0000000..2d5222c --- /dev/null +++ b/fixtures/simple/client/metadata/current/2.root.json @@ -0,0 +1,87 @@ +{ + "signatures": [ + { + "keyid": "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129", + "sig": "e911db300e8eb378a2cabc48979e4c8f72beca30335db0579a7a1d81ae90c8bc63c27d92ce5a17846e3b1adb63a45a411bb4308e018e0d3cc4c9908311b5f208" + } + ], + "signed": { + "_type": "root", + "consistent_snapshot": true, + "expires": "2020-12-31T05:48:20Z", + "keys": { + "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "6bac59b8d9e1aae02fae6fba6e7fe3fc9fe5b4a9fe98c3fca255d8c8ec3e5b35" + }, + "scheme": "ed25519" + }, + "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "6400d770c7c1bce4b3d59ce0079ed686e843b6500bbea77d869a1ae7df4565a1" + }, + "scheme": "ed25519" + }, + "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "28bf74baa87ed923f8fa27e3292684f8ec4730ce0bdc65150ed58199206ce089" + }, + "scheme": "ed25519" + }, + "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "e6ae9d3b67d7b3ce274130291dd90287f32b8fd72bfb4ac5430859ebd1c28a46" + }, + "scheme": "ed25519" + } + }, + "roles": { + "root": { + "keyids": [ + "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129" + ], + "threshold": 1 + }, + "snapshot": { + "keyids": [ + "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93" + ], + "threshold": 1 + }, + "targets": { + "keyids": [ + "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4" + ], + "threshold": 1 + }, + "timestamp": { + "keyids": [ + "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae" + ], + "threshold": 1 + } + }, + "spec_version": "1.0.0", + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/client/metadata/current/2.snapshot.json b/fixtures/simple/client/metadata/current/2.snapshot.json new file mode 100644 index 0000000..f9f4afc --- /dev/null +++ b/fixtures/simple/client/metadata/current/2.snapshot.json @@ -0,0 +1,19 @@ +{ + "signatures": [ + { + "keyid": "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93", + "sig": "d4ad7c68f0d471d0edc2895270908eb39ab60dd32174ca372bcca6eba97eebf7d2f0916cdcae884facb98500a83852dd0cb0de8645996d5f2a00f077f68ca801" + } + ], + "signed": { + "_type": "snapshot", + "expires": "2020-01-08T00:00:00Z", + "meta": { + "targets.json": { + "version": 2 + } + }, + "spec_version": "1.0.0", + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/client/metadata/current/2.targets.json b/fixtures/simple/client/metadata/current/2.targets.json new file mode 100644 index 0000000..c7c02ef --- /dev/null +++ b/fixtures/simple/client/metadata/current/2.targets.json @@ -0,0 +1,27 @@ +{ + "signatures": [ + { + "keyid": "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4", + "sig": "ae328ec35ffa1e5888908081a9b7717defc7aba6a1c8d235b2afa7619a533be339aa47317dce809226189208aff3b5317dc1aced914c511b91a92615c4be0503" + } + ], + "signed": { + "_type": "targets", + "delegations": { + "keys": {}, + "roles": [] + }, + "expires": "2020-04-01T07:27:10Z", + "spec_version": "1.0.0", + "targets": { + "testtarget.txt": { + "hashes": { + "sha256": "c9e2a718ba4f180100e413382c9bee5759df61c1f2c31be0e09a03e378151371", + "sha512": "17dd75df5d24fb7c29cf8ad4c993e53b60933f5adf424071c8634569c756c84de863415fdc9b444ef7794875997b60615bdcdc406c6a55c105b49748d6ef392b" + }, + "length": 24 + } + }, + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/client/metadata/current/2.timestamp.json b/fixtures/simple/client/metadata/current/2.timestamp.json new file mode 100644 index 0000000..493c2d1 --- /dev/null +++ b/fixtures/simple/client/metadata/current/2.timestamp.json @@ -0,0 +1,24 @@ +{ + "signatures": [ + { + "keyid": "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae", + "sig": "d4782228149933a43d54a4c0036d876335fb14289195a1183d67e9c4b8a7e9d2c51dd7fd222d7bebcbe8d7158c197bebc9190928a40f45407c52bc6d31d89401" + } + ], + "signed": { + "_type": "timestamp", + "expires": "2020-01-02T00:00:00Z", + "meta": { + "snapshot.json": { + "hashes": { + "sha256": "4bbd15caf73960e46f11a1dace6fc518d89bb0218592ce9da01b76249ab7b738", + "sha512": "0b4957bc8adcb717d31eb7c0fb6f849ddbc9c4f98a86f27c1e9fe667c990b699be0675521216f127786bc27b6f47f16143fe269b5606169855b319e8a8c4c6d2" + }, + "length": 431, + "version": 2 + } + }, + "spec_version": "1.0.0", + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/client/metadata/current/root.json b/fixtures/simple/client/metadata/current/root.json new file mode 100644 index 0000000..2d5222c --- /dev/null +++ b/fixtures/simple/client/metadata/current/root.json @@ -0,0 +1,87 @@ +{ + "signatures": [ + { + "keyid": "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129", + "sig": "e911db300e8eb378a2cabc48979e4c8f72beca30335db0579a7a1d81ae90c8bc63c27d92ce5a17846e3b1adb63a45a411bb4308e018e0d3cc4c9908311b5f208" + } + ], + "signed": { + "_type": "root", + "consistent_snapshot": true, + "expires": "2020-12-31T05:48:20Z", + "keys": { + "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "6bac59b8d9e1aae02fae6fba6e7fe3fc9fe5b4a9fe98c3fca255d8c8ec3e5b35" + }, + "scheme": "ed25519" + }, + "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "6400d770c7c1bce4b3d59ce0079ed686e843b6500bbea77d869a1ae7df4565a1" + }, + "scheme": "ed25519" + }, + "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "28bf74baa87ed923f8fa27e3292684f8ec4730ce0bdc65150ed58199206ce089" + }, + "scheme": "ed25519" + }, + "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "e6ae9d3b67d7b3ce274130291dd90287f32b8fd72bfb4ac5430859ebd1c28a46" + }, + "scheme": "ed25519" + } + }, + "roles": { + "root": { + "keyids": [ + "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129" + ], + "threshold": 1 + }, + "snapshot": { + "keyids": [ + "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93" + ], + "threshold": 1 + }, + "targets": { + "keyids": [ + "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4" + ], + "threshold": 1 + }, + "timestamp": { + "keyids": [ + "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae" + ], + "threshold": 1 + } + }, + "spec_version": "1.0.0", + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/client/metadata/current/snapshot.json b/fixtures/simple/client/metadata/current/snapshot.json new file mode 100644 index 0000000..f9f4afc --- /dev/null +++ b/fixtures/simple/client/metadata/current/snapshot.json @@ -0,0 +1,19 @@ +{ + "signatures": [ + { + "keyid": "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93", + "sig": "d4ad7c68f0d471d0edc2895270908eb39ab60dd32174ca372bcca6eba97eebf7d2f0916cdcae884facb98500a83852dd0cb0de8645996d5f2a00f077f68ca801" + } + ], + "signed": { + "_type": "snapshot", + "expires": "2020-01-08T00:00:00Z", + "meta": { + "targets.json": { + "version": 2 + } + }, + "spec_version": "1.0.0", + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/client/metadata/current/targets.json b/fixtures/simple/client/metadata/current/targets.json new file mode 100644 index 0000000..c7c02ef --- /dev/null +++ b/fixtures/simple/client/metadata/current/targets.json @@ -0,0 +1,27 @@ +{ + "signatures": [ + { + "keyid": "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4", + "sig": "ae328ec35ffa1e5888908081a9b7717defc7aba6a1c8d235b2afa7619a533be339aa47317dce809226189208aff3b5317dc1aced914c511b91a92615c4be0503" + } + ], + "signed": { + "_type": "targets", + "delegations": { + "keys": {}, + "roles": [] + }, + "expires": "2020-04-01T07:27:10Z", + "spec_version": "1.0.0", + "targets": { + "testtarget.txt": { + "hashes": { + "sha256": "c9e2a718ba4f180100e413382c9bee5759df61c1f2c31be0e09a03e378151371", + "sha512": "17dd75df5d24fb7c29cf8ad4c993e53b60933f5adf424071c8634569c756c84de863415fdc9b444ef7794875997b60615bdcdc406c6a55c105b49748d6ef392b" + }, + "length": 24 + } + }, + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/client/metadata/current/timestamp.json b/fixtures/simple/client/metadata/current/timestamp.json new file mode 100644 index 0000000..493c2d1 --- /dev/null +++ b/fixtures/simple/client/metadata/current/timestamp.json @@ -0,0 +1,24 @@ +{ + "signatures": [ + { + "keyid": "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae", + "sig": "d4782228149933a43d54a4c0036d876335fb14289195a1183d67e9c4b8a7e9d2c51dd7fd222d7bebcbe8d7158c197bebc9190928a40f45407c52bc6d31d89401" + } + ], + "signed": { + "_type": "timestamp", + "expires": "2020-01-02T00:00:00Z", + "meta": { + "snapshot.json": { + "hashes": { + "sha256": "4bbd15caf73960e46f11a1dace6fc518d89bb0218592ce9da01b76249ab7b738", + "sha512": "0b4957bc8adcb717d31eb7c0fb6f849ddbc9c4f98a86f27c1e9fe667c990b699be0675521216f127786bc27b6f47f16143fe269b5606169855b319e8a8c4c6d2" + }, + "length": 431, + "version": 2 + } + }, + "spec_version": "1.0.0", + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/client/metadata/previous/1.root.json b/fixtures/simple/client/metadata/previous/1.root.json new file mode 100644 index 0000000..0898610 --- /dev/null +++ b/fixtures/simple/client/metadata/previous/1.root.json @@ -0,0 +1,87 @@ +{ + "signatures": [ + { + "keyid": "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129", + "sig": "d0bf76a5cfc0aee1b8a1b1bf0ed8ca646a1a6d5f205945c515e8546bfd3c1e6b5e07cc0b93836bd030dd05ba68f177aecb05f6bf90c6702fd178e53310022506" + } + ], + "signed": { + "_type": "root", + "consistent_snapshot": true, + "expires": "2020-12-31T05:48:20Z", + "keys": { + "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "6bac59b8d9e1aae02fae6fba6e7fe3fc9fe5b4a9fe98c3fca255d8c8ec3e5b35" + }, + "scheme": "ed25519" + }, + "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "6400d770c7c1bce4b3d59ce0079ed686e843b6500bbea77d869a1ae7df4565a1" + }, + "scheme": "ed25519" + }, + "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "28bf74baa87ed923f8fa27e3292684f8ec4730ce0bdc65150ed58199206ce089" + }, + "scheme": "ed25519" + }, + "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "e6ae9d3b67d7b3ce274130291dd90287f32b8fd72bfb4ac5430859ebd1c28a46" + }, + "scheme": "ed25519" + } + }, + "roles": { + "root": { + "keyids": [ + "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129" + ], + "threshold": 1 + }, + "snapshot": { + "keyids": [ + "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93" + ], + "threshold": 1 + }, + "targets": { + "keyids": [ + "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4" + ], + "threshold": 1 + }, + "timestamp": { + "keyids": [ + "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae" + ], + "threshold": 1 + } + }, + "spec_version": "1.0.0", + "version": 1 + } +} \ No newline at end of file diff --git a/fixtures/simple/client/metadata/previous/1.snapshot.json b/fixtures/simple/client/metadata/previous/1.snapshot.json new file mode 100644 index 0000000..dcbd2f4 --- /dev/null +++ b/fixtures/simple/client/metadata/previous/1.snapshot.json @@ -0,0 +1,19 @@ +{ + "signatures": [ + { + "keyid": "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93", + "sig": "61db8765350398f7f750853337d9a55c5d6e790812d29146b5b45d5fd43d2a42c474a7a9fab263c3a50a28114a82f79dbf24ff1f99ae737a8d06f332f9f7d103" + } + ], + "signed": { + "_type": "snapshot", + "expires": "2020-01-08T00:00:00Z", + "meta": { + "targets.json": { + "version": 1 + } + }, + "spec_version": "1.0.0", + "version": 1 + } +} \ No newline at end of file diff --git a/fixtures/simple/client/metadata/previous/1.targets.json b/fixtures/simple/client/metadata/previous/1.targets.json new file mode 100644 index 0000000..820691e --- /dev/null +++ b/fixtures/simple/client/metadata/previous/1.targets.json @@ -0,0 +1,19 @@ +{ + "signatures": [ + { + "keyid": "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4", + "sig": "c150e8ed5d352f366a979f4c4b9d556350c414c2da7ef1279045aaed3438c60872142d0dfe5ddbb627fec2d8fb7c5d8e692e04a87230b78d74714c5db035620a" + } + ], + "signed": { + "_type": "targets", + "delegations": { + "keys": {}, + "roles": [] + }, + "expires": "2020-04-01T07:27:10Z", + "spec_version": "1.0.0", + "targets": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/fixtures/simple/client/metadata/previous/1.timestamp.json b/fixtures/simple/client/metadata/previous/1.timestamp.json new file mode 100644 index 0000000..aae05fb --- /dev/null +++ b/fixtures/simple/client/metadata/previous/1.timestamp.json @@ -0,0 +1,24 @@ +{ + "signatures": [ + { + "keyid": "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae", + "sig": "1d668531c7a0960cf90825faa684106a8aef0799c1b47e72301bac45d87f2dd42c14f1a3ac7db862323ca5177dd4fd686573ea92aea99638f17414dde561c00b" + } + ], + "signed": { + "_type": "timestamp", + "expires": "2020-01-02T00:00:00Z", + "meta": { + "snapshot.json": { + "hashes": { + "sha256": "f4ca389c2c9fbc592d91d4e693c31113b8803a11bcb5ecd973581fa0e3d34ce0", + "sha512": "92a0989e44c0e9f16d3e56268a3b8dd4e4416ee2ac91a4c871a405f1e426062651ec4effa0078fc4409c8b0422ccad9b1aa197db58f178406f398562b2e98195" + }, + "length": 431, + "version": 1 + } + }, + "spec_version": "1.0.0", + "version": 1 + } +} \ No newline at end of file diff --git a/fixtures/simple/client/metadata/previous/2.root.json b/fixtures/simple/client/metadata/previous/2.root.json new file mode 100644 index 0000000..2d5222c --- /dev/null +++ b/fixtures/simple/client/metadata/previous/2.root.json @@ -0,0 +1,87 @@ +{ + "signatures": [ + { + "keyid": "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129", + "sig": "e911db300e8eb378a2cabc48979e4c8f72beca30335db0579a7a1d81ae90c8bc63c27d92ce5a17846e3b1adb63a45a411bb4308e018e0d3cc4c9908311b5f208" + } + ], + "signed": { + "_type": "root", + "consistent_snapshot": true, + "expires": "2020-12-31T05:48:20Z", + "keys": { + "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "6bac59b8d9e1aae02fae6fba6e7fe3fc9fe5b4a9fe98c3fca255d8c8ec3e5b35" + }, + "scheme": "ed25519" + }, + "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "6400d770c7c1bce4b3d59ce0079ed686e843b6500bbea77d869a1ae7df4565a1" + }, + "scheme": "ed25519" + }, + "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "28bf74baa87ed923f8fa27e3292684f8ec4730ce0bdc65150ed58199206ce089" + }, + "scheme": "ed25519" + }, + "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "e6ae9d3b67d7b3ce274130291dd90287f32b8fd72bfb4ac5430859ebd1c28a46" + }, + "scheme": "ed25519" + } + }, + "roles": { + "root": { + "keyids": [ + "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129" + ], + "threshold": 1 + }, + "snapshot": { + "keyids": [ + "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93" + ], + "threshold": 1 + }, + "targets": { + "keyids": [ + "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4" + ], + "threshold": 1 + }, + "timestamp": { + "keyids": [ + "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae" + ], + "threshold": 1 + } + }, + "spec_version": "1.0.0", + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/client/metadata/previous/2.snapshot.json b/fixtures/simple/client/metadata/previous/2.snapshot.json new file mode 100644 index 0000000..f9f4afc --- /dev/null +++ b/fixtures/simple/client/metadata/previous/2.snapshot.json @@ -0,0 +1,19 @@ +{ + "signatures": [ + { + "keyid": "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93", + "sig": "d4ad7c68f0d471d0edc2895270908eb39ab60dd32174ca372bcca6eba97eebf7d2f0916cdcae884facb98500a83852dd0cb0de8645996d5f2a00f077f68ca801" + } + ], + "signed": { + "_type": "snapshot", + "expires": "2020-01-08T00:00:00Z", + "meta": { + "targets.json": { + "version": 2 + } + }, + "spec_version": "1.0.0", + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/client/metadata/previous/2.targets.json b/fixtures/simple/client/metadata/previous/2.targets.json new file mode 100644 index 0000000..c7c02ef --- /dev/null +++ b/fixtures/simple/client/metadata/previous/2.targets.json @@ -0,0 +1,27 @@ +{ + "signatures": [ + { + "keyid": "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4", + "sig": "ae328ec35ffa1e5888908081a9b7717defc7aba6a1c8d235b2afa7619a533be339aa47317dce809226189208aff3b5317dc1aced914c511b91a92615c4be0503" + } + ], + "signed": { + "_type": "targets", + "delegations": { + "keys": {}, + "roles": [] + }, + "expires": "2020-04-01T07:27:10Z", + "spec_version": "1.0.0", + "targets": { + "testtarget.txt": { + "hashes": { + "sha256": "c9e2a718ba4f180100e413382c9bee5759df61c1f2c31be0e09a03e378151371", + "sha512": "17dd75df5d24fb7c29cf8ad4c993e53b60933f5adf424071c8634569c756c84de863415fdc9b444ef7794875997b60615bdcdc406c6a55c105b49748d6ef392b" + }, + "length": 24 + } + }, + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/client/metadata/previous/2.timestamp.json b/fixtures/simple/client/metadata/previous/2.timestamp.json new file mode 100644 index 0000000..493c2d1 --- /dev/null +++ b/fixtures/simple/client/metadata/previous/2.timestamp.json @@ -0,0 +1,24 @@ +{ + "signatures": [ + { + "keyid": "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae", + "sig": "d4782228149933a43d54a4c0036d876335fb14289195a1183d67e9c4b8a7e9d2c51dd7fd222d7bebcbe8d7158c197bebc9190928a40f45407c52bc6d31d89401" + } + ], + "signed": { + "_type": "timestamp", + "expires": "2020-01-02T00:00:00Z", + "meta": { + "snapshot.json": { + "hashes": { + "sha256": "4bbd15caf73960e46f11a1dace6fc518d89bb0218592ce9da01b76249ab7b738", + "sha512": "0b4957bc8adcb717d31eb7c0fb6f849ddbc9c4f98a86f27c1e9fe667c990b699be0675521216f127786bc27b6f47f16143fe269b5606169855b319e8a8c4c6d2" + }, + "length": 431, + "version": 2 + } + }, + "spec_version": "1.0.0", + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/client/metadata/previous/root.json b/fixtures/simple/client/metadata/previous/root.json new file mode 100644 index 0000000..2d5222c --- /dev/null +++ b/fixtures/simple/client/metadata/previous/root.json @@ -0,0 +1,87 @@ +{ + "signatures": [ + { + "keyid": "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129", + "sig": "e911db300e8eb378a2cabc48979e4c8f72beca30335db0579a7a1d81ae90c8bc63c27d92ce5a17846e3b1adb63a45a411bb4308e018e0d3cc4c9908311b5f208" + } + ], + "signed": { + "_type": "root", + "consistent_snapshot": true, + "expires": "2020-12-31T05:48:20Z", + "keys": { + "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "6bac59b8d9e1aae02fae6fba6e7fe3fc9fe5b4a9fe98c3fca255d8c8ec3e5b35" + }, + "scheme": "ed25519" + }, + "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "6400d770c7c1bce4b3d59ce0079ed686e843b6500bbea77d869a1ae7df4565a1" + }, + "scheme": "ed25519" + }, + "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "28bf74baa87ed923f8fa27e3292684f8ec4730ce0bdc65150ed58199206ce089" + }, + "scheme": "ed25519" + }, + "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "e6ae9d3b67d7b3ce274130291dd90287f32b8fd72bfb4ac5430859ebd1c28a46" + }, + "scheme": "ed25519" + } + }, + "roles": { + "root": { + "keyids": [ + "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129" + ], + "threshold": 1 + }, + "snapshot": { + "keyids": [ + "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93" + ], + "threshold": 1 + }, + "targets": { + "keyids": [ + "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4" + ], + "threshold": 1 + }, + "timestamp": { + "keyids": [ + "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae" + ], + "threshold": 1 + } + }, + "spec_version": "1.0.0", + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/client/metadata/previous/snapshot.json b/fixtures/simple/client/metadata/previous/snapshot.json new file mode 100644 index 0000000..f9f4afc --- /dev/null +++ b/fixtures/simple/client/metadata/previous/snapshot.json @@ -0,0 +1,19 @@ +{ + "signatures": [ + { + "keyid": "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93", + "sig": "d4ad7c68f0d471d0edc2895270908eb39ab60dd32174ca372bcca6eba97eebf7d2f0916cdcae884facb98500a83852dd0cb0de8645996d5f2a00f077f68ca801" + } + ], + "signed": { + "_type": "snapshot", + "expires": "2020-01-08T00:00:00Z", + "meta": { + "targets.json": { + "version": 2 + } + }, + "spec_version": "1.0.0", + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/client/metadata/previous/targets.json b/fixtures/simple/client/metadata/previous/targets.json new file mode 100644 index 0000000..c7c02ef --- /dev/null +++ b/fixtures/simple/client/metadata/previous/targets.json @@ -0,0 +1,27 @@ +{ + "signatures": [ + { + "keyid": "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4", + "sig": "ae328ec35ffa1e5888908081a9b7717defc7aba6a1c8d235b2afa7619a533be339aa47317dce809226189208aff3b5317dc1aced914c511b91a92615c4be0503" + } + ], + "signed": { + "_type": "targets", + "delegations": { + "keys": {}, + "roles": [] + }, + "expires": "2020-04-01T07:27:10Z", + "spec_version": "1.0.0", + "targets": { + "testtarget.txt": { + "hashes": { + "sha256": "c9e2a718ba4f180100e413382c9bee5759df61c1f2c31be0e09a03e378151371", + "sha512": "17dd75df5d24fb7c29cf8ad4c993e53b60933f5adf424071c8634569c756c84de863415fdc9b444ef7794875997b60615bdcdc406c6a55c105b49748d6ef392b" + }, + "length": 24 + } + }, + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/client/metadata/previous/timestamp.json b/fixtures/simple/client/metadata/previous/timestamp.json new file mode 100644 index 0000000..493c2d1 --- /dev/null +++ b/fixtures/simple/client/metadata/previous/timestamp.json @@ -0,0 +1,24 @@ +{ + "signatures": [ + { + "keyid": "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae", + "sig": "d4782228149933a43d54a4c0036d876335fb14289195a1183d67e9c4b8a7e9d2c51dd7fd222d7bebcbe8d7158c197bebc9190928a40f45407c52bc6d31d89401" + } + ], + "signed": { + "_type": "timestamp", + "expires": "2020-01-02T00:00:00Z", + "meta": { + "snapshot.json": { + "hashes": { + "sha256": "4bbd15caf73960e46f11a1dace6fc518d89bb0218592ce9da01b76249ab7b738", + "sha512": "0b4957bc8adcb717d31eb7c0fb6f849ddbc9c4f98a86f27c1e9fe667c990b699be0675521216f127786bc27b6f47f16143fe269b5606169855b319e8a8c4c6d2" + }, + "length": 431, + "version": 2 + } + }, + "spec_version": "1.0.0", + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/server/metadata.staged/1.root.json b/fixtures/simple/server/metadata.staged/1.root.json new file mode 100644 index 0000000..0898610 --- /dev/null +++ b/fixtures/simple/server/metadata.staged/1.root.json @@ -0,0 +1,87 @@ +{ + "signatures": [ + { + "keyid": "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129", + "sig": "d0bf76a5cfc0aee1b8a1b1bf0ed8ca646a1a6d5f205945c515e8546bfd3c1e6b5e07cc0b93836bd030dd05ba68f177aecb05f6bf90c6702fd178e53310022506" + } + ], + "signed": { + "_type": "root", + "consistent_snapshot": true, + "expires": "2020-12-31T05:48:20Z", + "keys": { + "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "6bac59b8d9e1aae02fae6fba6e7fe3fc9fe5b4a9fe98c3fca255d8c8ec3e5b35" + }, + "scheme": "ed25519" + }, + "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "6400d770c7c1bce4b3d59ce0079ed686e843b6500bbea77d869a1ae7df4565a1" + }, + "scheme": "ed25519" + }, + "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "28bf74baa87ed923f8fa27e3292684f8ec4730ce0bdc65150ed58199206ce089" + }, + "scheme": "ed25519" + }, + "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "e6ae9d3b67d7b3ce274130291dd90287f32b8fd72bfb4ac5430859ebd1c28a46" + }, + "scheme": "ed25519" + } + }, + "roles": { + "root": { + "keyids": [ + "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129" + ], + "threshold": 1 + }, + "snapshot": { + "keyids": [ + "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93" + ], + "threshold": 1 + }, + "targets": { + "keyids": [ + "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4" + ], + "threshold": 1 + }, + "timestamp": { + "keyids": [ + "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae" + ], + "threshold": 1 + } + }, + "spec_version": "1.0.0", + "version": 1 + } +} \ No newline at end of file diff --git a/fixtures/simple/server/metadata.staged/1.snapshot.json b/fixtures/simple/server/metadata.staged/1.snapshot.json new file mode 100644 index 0000000..dcbd2f4 --- /dev/null +++ b/fixtures/simple/server/metadata.staged/1.snapshot.json @@ -0,0 +1,19 @@ +{ + "signatures": [ + { + "keyid": "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93", + "sig": "61db8765350398f7f750853337d9a55c5d6e790812d29146b5b45d5fd43d2a42c474a7a9fab263c3a50a28114a82f79dbf24ff1f99ae737a8d06f332f9f7d103" + } + ], + "signed": { + "_type": "snapshot", + "expires": "2020-01-08T00:00:00Z", + "meta": { + "targets.json": { + "version": 1 + } + }, + "spec_version": "1.0.0", + "version": 1 + } +} \ No newline at end of file diff --git a/fixtures/simple/server/metadata.staged/1.targets.json b/fixtures/simple/server/metadata.staged/1.targets.json new file mode 100644 index 0000000..820691e --- /dev/null +++ b/fixtures/simple/server/metadata.staged/1.targets.json @@ -0,0 +1,19 @@ +{ + "signatures": [ + { + "keyid": "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4", + "sig": "c150e8ed5d352f366a979f4c4b9d556350c414c2da7ef1279045aaed3438c60872142d0dfe5ddbb627fec2d8fb7c5d8e692e04a87230b78d74714c5db035620a" + } + ], + "signed": { + "_type": "targets", + "delegations": { + "keys": {}, + "roles": [] + }, + "expires": "2020-04-01T07:27:10Z", + "spec_version": "1.0.0", + "targets": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/fixtures/simple/server/metadata.staged/1.timestamp.json b/fixtures/simple/server/metadata.staged/1.timestamp.json new file mode 100644 index 0000000..aae05fb --- /dev/null +++ b/fixtures/simple/server/metadata.staged/1.timestamp.json @@ -0,0 +1,24 @@ +{ + "signatures": [ + { + "keyid": "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae", + "sig": "1d668531c7a0960cf90825faa684106a8aef0799c1b47e72301bac45d87f2dd42c14f1a3ac7db862323ca5177dd4fd686573ea92aea99638f17414dde561c00b" + } + ], + "signed": { + "_type": "timestamp", + "expires": "2020-01-02T00:00:00Z", + "meta": { + "snapshot.json": { + "hashes": { + "sha256": "f4ca389c2c9fbc592d91d4e693c31113b8803a11bcb5ecd973581fa0e3d34ce0", + "sha512": "92a0989e44c0e9f16d3e56268a3b8dd4e4416ee2ac91a4c871a405f1e426062651ec4effa0078fc4409c8b0422ccad9b1aa197db58f178406f398562b2e98195" + }, + "length": 431, + "version": 1 + } + }, + "spec_version": "1.0.0", + "version": 1 + } +} \ No newline at end of file diff --git a/fixtures/simple/server/metadata.staged/2.root.json b/fixtures/simple/server/metadata.staged/2.root.json new file mode 100644 index 0000000..2d5222c --- /dev/null +++ b/fixtures/simple/server/metadata.staged/2.root.json @@ -0,0 +1,87 @@ +{ + "signatures": [ + { + "keyid": "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129", + "sig": "e911db300e8eb378a2cabc48979e4c8f72beca30335db0579a7a1d81ae90c8bc63c27d92ce5a17846e3b1adb63a45a411bb4308e018e0d3cc4c9908311b5f208" + } + ], + "signed": { + "_type": "root", + "consistent_snapshot": true, + "expires": "2020-12-31T05:48:20Z", + "keys": { + "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "6bac59b8d9e1aae02fae6fba6e7fe3fc9fe5b4a9fe98c3fca255d8c8ec3e5b35" + }, + "scheme": "ed25519" + }, + "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "6400d770c7c1bce4b3d59ce0079ed686e843b6500bbea77d869a1ae7df4565a1" + }, + "scheme": "ed25519" + }, + "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "28bf74baa87ed923f8fa27e3292684f8ec4730ce0bdc65150ed58199206ce089" + }, + "scheme": "ed25519" + }, + "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "e6ae9d3b67d7b3ce274130291dd90287f32b8fd72bfb4ac5430859ebd1c28a46" + }, + "scheme": "ed25519" + } + }, + "roles": { + "root": { + "keyids": [ + "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129" + ], + "threshold": 1 + }, + "snapshot": { + "keyids": [ + "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93" + ], + "threshold": 1 + }, + "targets": { + "keyids": [ + "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4" + ], + "threshold": 1 + }, + "timestamp": { + "keyids": [ + "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae" + ], + "threshold": 1 + } + }, + "spec_version": "1.0.0", + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/server/metadata.staged/2.snapshot.json b/fixtures/simple/server/metadata.staged/2.snapshot.json new file mode 100644 index 0000000..f9f4afc --- /dev/null +++ b/fixtures/simple/server/metadata.staged/2.snapshot.json @@ -0,0 +1,19 @@ +{ + "signatures": [ + { + "keyid": "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93", + "sig": "d4ad7c68f0d471d0edc2895270908eb39ab60dd32174ca372bcca6eba97eebf7d2f0916cdcae884facb98500a83852dd0cb0de8645996d5f2a00f077f68ca801" + } + ], + "signed": { + "_type": "snapshot", + "expires": "2020-01-08T00:00:00Z", + "meta": { + "targets.json": { + "version": 2 + } + }, + "spec_version": "1.0.0", + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/server/metadata.staged/2.targets.json b/fixtures/simple/server/metadata.staged/2.targets.json new file mode 100644 index 0000000..c7c02ef --- /dev/null +++ b/fixtures/simple/server/metadata.staged/2.targets.json @@ -0,0 +1,27 @@ +{ + "signatures": [ + { + "keyid": "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4", + "sig": "ae328ec35ffa1e5888908081a9b7717defc7aba6a1c8d235b2afa7619a533be339aa47317dce809226189208aff3b5317dc1aced914c511b91a92615c4be0503" + } + ], + "signed": { + "_type": "targets", + "delegations": { + "keys": {}, + "roles": [] + }, + "expires": "2020-04-01T07:27:10Z", + "spec_version": "1.0.0", + "targets": { + "testtarget.txt": { + "hashes": { + "sha256": "c9e2a718ba4f180100e413382c9bee5759df61c1f2c31be0e09a03e378151371", + "sha512": "17dd75df5d24fb7c29cf8ad4c993e53b60933f5adf424071c8634569c756c84de863415fdc9b444ef7794875997b60615bdcdc406c6a55c105b49748d6ef392b" + }, + "length": 24 + } + }, + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/server/metadata.staged/2.timestamp.json b/fixtures/simple/server/metadata.staged/2.timestamp.json new file mode 100644 index 0000000..493c2d1 --- /dev/null +++ b/fixtures/simple/server/metadata.staged/2.timestamp.json @@ -0,0 +1,24 @@ +{ + "signatures": [ + { + "keyid": "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae", + "sig": "d4782228149933a43d54a4c0036d876335fb14289195a1183d67e9c4b8a7e9d2c51dd7fd222d7bebcbe8d7158c197bebc9190928a40f45407c52bc6d31d89401" + } + ], + "signed": { + "_type": "timestamp", + "expires": "2020-01-02T00:00:00Z", + "meta": { + "snapshot.json": { + "hashes": { + "sha256": "4bbd15caf73960e46f11a1dace6fc518d89bb0218592ce9da01b76249ab7b738", + "sha512": "0b4957bc8adcb717d31eb7c0fb6f849ddbc9c4f98a86f27c1e9fe667c990b699be0675521216f127786bc27b6f47f16143fe269b5606169855b319e8a8c4c6d2" + }, + "length": 431, + "version": 2 + } + }, + "spec_version": "1.0.0", + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/server/metadata.staged/root.json b/fixtures/simple/server/metadata.staged/root.json new file mode 100644 index 0000000..2d5222c --- /dev/null +++ b/fixtures/simple/server/metadata.staged/root.json @@ -0,0 +1,87 @@ +{ + "signatures": [ + { + "keyid": "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129", + "sig": "e911db300e8eb378a2cabc48979e4c8f72beca30335db0579a7a1d81ae90c8bc63c27d92ce5a17846e3b1adb63a45a411bb4308e018e0d3cc4c9908311b5f208" + } + ], + "signed": { + "_type": "root", + "consistent_snapshot": true, + "expires": "2020-12-31T05:48:20Z", + "keys": { + "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "6bac59b8d9e1aae02fae6fba6e7fe3fc9fe5b4a9fe98c3fca255d8c8ec3e5b35" + }, + "scheme": "ed25519" + }, + "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "6400d770c7c1bce4b3d59ce0079ed686e843b6500bbea77d869a1ae7df4565a1" + }, + "scheme": "ed25519" + }, + "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "28bf74baa87ed923f8fa27e3292684f8ec4730ce0bdc65150ed58199206ce089" + }, + "scheme": "ed25519" + }, + "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "e6ae9d3b67d7b3ce274130291dd90287f32b8fd72bfb4ac5430859ebd1c28a46" + }, + "scheme": "ed25519" + } + }, + "roles": { + "root": { + "keyids": [ + "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129" + ], + "threshold": 1 + }, + "snapshot": { + "keyids": [ + "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93" + ], + "threshold": 1 + }, + "targets": { + "keyids": [ + "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4" + ], + "threshold": 1 + }, + "timestamp": { + "keyids": [ + "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae" + ], + "threshold": 1 + } + }, + "spec_version": "1.0.0", + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/server/metadata.staged/snapshot.json b/fixtures/simple/server/metadata.staged/snapshot.json new file mode 100644 index 0000000..f9f4afc --- /dev/null +++ b/fixtures/simple/server/metadata.staged/snapshot.json @@ -0,0 +1,19 @@ +{ + "signatures": [ + { + "keyid": "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93", + "sig": "d4ad7c68f0d471d0edc2895270908eb39ab60dd32174ca372bcca6eba97eebf7d2f0916cdcae884facb98500a83852dd0cb0de8645996d5f2a00f077f68ca801" + } + ], + "signed": { + "_type": "snapshot", + "expires": "2020-01-08T00:00:00Z", + "meta": { + "targets.json": { + "version": 2 + } + }, + "spec_version": "1.0.0", + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/server/metadata.staged/targets.json b/fixtures/simple/server/metadata.staged/targets.json new file mode 100644 index 0000000..c7c02ef --- /dev/null +++ b/fixtures/simple/server/metadata.staged/targets.json @@ -0,0 +1,27 @@ +{ + "signatures": [ + { + "keyid": "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4", + "sig": "ae328ec35ffa1e5888908081a9b7717defc7aba6a1c8d235b2afa7619a533be339aa47317dce809226189208aff3b5317dc1aced914c511b91a92615c4be0503" + } + ], + "signed": { + "_type": "targets", + "delegations": { + "keys": {}, + "roles": [] + }, + "expires": "2020-04-01T07:27:10Z", + "spec_version": "1.0.0", + "targets": { + "testtarget.txt": { + "hashes": { + "sha256": "c9e2a718ba4f180100e413382c9bee5759df61c1f2c31be0e09a03e378151371", + "sha512": "17dd75df5d24fb7c29cf8ad4c993e53b60933f5adf424071c8634569c756c84de863415fdc9b444ef7794875997b60615bdcdc406c6a55c105b49748d6ef392b" + }, + "length": 24 + } + }, + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/server/metadata.staged/timestamp.json b/fixtures/simple/server/metadata.staged/timestamp.json new file mode 100644 index 0000000..493c2d1 --- /dev/null +++ b/fixtures/simple/server/metadata.staged/timestamp.json @@ -0,0 +1,24 @@ +{ + "signatures": [ + { + "keyid": "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae", + "sig": "d4782228149933a43d54a4c0036d876335fb14289195a1183d67e9c4b8a7e9d2c51dd7fd222d7bebcbe8d7158c197bebc9190928a40f45407c52bc6d31d89401" + } + ], + "signed": { + "_type": "timestamp", + "expires": "2020-01-02T00:00:00Z", + "meta": { + "snapshot.json": { + "hashes": { + "sha256": "4bbd15caf73960e46f11a1dace6fc518d89bb0218592ce9da01b76249ab7b738", + "sha512": "0b4957bc8adcb717d31eb7c0fb6f849ddbc9c4f98a86f27c1e9fe667c990b699be0675521216f127786bc27b6f47f16143fe269b5606169855b319e8a8c4c6d2" + }, + "length": 431, + "version": 2 + } + }, + "spec_version": "1.0.0", + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/server/metadata/1.root.json b/fixtures/simple/server/metadata/1.root.json new file mode 100644 index 0000000..0898610 --- /dev/null +++ b/fixtures/simple/server/metadata/1.root.json @@ -0,0 +1,87 @@ +{ + "signatures": [ + { + "keyid": "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129", + "sig": "d0bf76a5cfc0aee1b8a1b1bf0ed8ca646a1a6d5f205945c515e8546bfd3c1e6b5e07cc0b93836bd030dd05ba68f177aecb05f6bf90c6702fd178e53310022506" + } + ], + "signed": { + "_type": "root", + "consistent_snapshot": true, + "expires": "2020-12-31T05:48:20Z", + "keys": { + "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "6bac59b8d9e1aae02fae6fba6e7fe3fc9fe5b4a9fe98c3fca255d8c8ec3e5b35" + }, + "scheme": "ed25519" + }, + "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "6400d770c7c1bce4b3d59ce0079ed686e843b6500bbea77d869a1ae7df4565a1" + }, + "scheme": "ed25519" + }, + "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "28bf74baa87ed923f8fa27e3292684f8ec4730ce0bdc65150ed58199206ce089" + }, + "scheme": "ed25519" + }, + "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "e6ae9d3b67d7b3ce274130291dd90287f32b8fd72bfb4ac5430859ebd1c28a46" + }, + "scheme": "ed25519" + } + }, + "roles": { + "root": { + "keyids": [ + "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129" + ], + "threshold": 1 + }, + "snapshot": { + "keyids": [ + "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93" + ], + "threshold": 1 + }, + "targets": { + "keyids": [ + "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4" + ], + "threshold": 1 + }, + "timestamp": { + "keyids": [ + "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae" + ], + "threshold": 1 + } + }, + "spec_version": "1.0.0", + "version": 1 + } +} \ No newline at end of file diff --git a/fixtures/simple/server/metadata/1.snapshot.json b/fixtures/simple/server/metadata/1.snapshot.json new file mode 100644 index 0000000..dcbd2f4 --- /dev/null +++ b/fixtures/simple/server/metadata/1.snapshot.json @@ -0,0 +1,19 @@ +{ + "signatures": [ + { + "keyid": "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93", + "sig": "61db8765350398f7f750853337d9a55c5d6e790812d29146b5b45d5fd43d2a42c474a7a9fab263c3a50a28114a82f79dbf24ff1f99ae737a8d06f332f9f7d103" + } + ], + "signed": { + "_type": "snapshot", + "expires": "2020-01-08T00:00:00Z", + "meta": { + "targets.json": { + "version": 1 + } + }, + "spec_version": "1.0.0", + "version": 1 + } +} \ No newline at end of file diff --git a/fixtures/simple/server/metadata/1.targets.json b/fixtures/simple/server/metadata/1.targets.json new file mode 100644 index 0000000..820691e --- /dev/null +++ b/fixtures/simple/server/metadata/1.targets.json @@ -0,0 +1,19 @@ +{ + "signatures": [ + { + "keyid": "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4", + "sig": "c150e8ed5d352f366a979f4c4b9d556350c414c2da7ef1279045aaed3438c60872142d0dfe5ddbb627fec2d8fb7c5d8e692e04a87230b78d74714c5db035620a" + } + ], + "signed": { + "_type": "targets", + "delegations": { + "keys": {}, + "roles": [] + }, + "expires": "2020-04-01T07:27:10Z", + "spec_version": "1.0.0", + "targets": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/fixtures/simple/server/metadata/1.timestamp.json b/fixtures/simple/server/metadata/1.timestamp.json new file mode 100644 index 0000000..aae05fb --- /dev/null +++ b/fixtures/simple/server/metadata/1.timestamp.json @@ -0,0 +1,24 @@ +{ + "signatures": [ + { + "keyid": "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae", + "sig": "1d668531c7a0960cf90825faa684106a8aef0799c1b47e72301bac45d87f2dd42c14f1a3ac7db862323ca5177dd4fd686573ea92aea99638f17414dde561c00b" + } + ], + "signed": { + "_type": "timestamp", + "expires": "2020-01-02T00:00:00Z", + "meta": { + "snapshot.json": { + "hashes": { + "sha256": "f4ca389c2c9fbc592d91d4e693c31113b8803a11bcb5ecd973581fa0e3d34ce0", + "sha512": "92a0989e44c0e9f16d3e56268a3b8dd4e4416ee2ac91a4c871a405f1e426062651ec4effa0078fc4409c8b0422ccad9b1aa197db58f178406f398562b2e98195" + }, + "length": 431, + "version": 1 + } + }, + "spec_version": "1.0.0", + "version": 1 + } +} \ No newline at end of file diff --git a/fixtures/simple/server/metadata/2.root.json b/fixtures/simple/server/metadata/2.root.json new file mode 100644 index 0000000..2d5222c --- /dev/null +++ b/fixtures/simple/server/metadata/2.root.json @@ -0,0 +1,87 @@ +{ + "signatures": [ + { + "keyid": "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129", + "sig": "e911db300e8eb378a2cabc48979e4c8f72beca30335db0579a7a1d81ae90c8bc63c27d92ce5a17846e3b1adb63a45a411bb4308e018e0d3cc4c9908311b5f208" + } + ], + "signed": { + "_type": "root", + "consistent_snapshot": true, + "expires": "2020-12-31T05:48:20Z", + "keys": { + "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "6bac59b8d9e1aae02fae6fba6e7fe3fc9fe5b4a9fe98c3fca255d8c8ec3e5b35" + }, + "scheme": "ed25519" + }, + "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "6400d770c7c1bce4b3d59ce0079ed686e843b6500bbea77d869a1ae7df4565a1" + }, + "scheme": "ed25519" + }, + "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "28bf74baa87ed923f8fa27e3292684f8ec4730ce0bdc65150ed58199206ce089" + }, + "scheme": "ed25519" + }, + "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "e6ae9d3b67d7b3ce274130291dd90287f32b8fd72bfb4ac5430859ebd1c28a46" + }, + "scheme": "ed25519" + } + }, + "roles": { + "root": { + "keyids": [ + "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129" + ], + "threshold": 1 + }, + "snapshot": { + "keyids": [ + "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93" + ], + "threshold": 1 + }, + "targets": { + "keyids": [ + "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4" + ], + "threshold": 1 + }, + "timestamp": { + "keyids": [ + "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae" + ], + "threshold": 1 + } + }, + "spec_version": "1.0.0", + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/server/metadata/2.snapshot.json b/fixtures/simple/server/metadata/2.snapshot.json new file mode 100644 index 0000000..f9f4afc --- /dev/null +++ b/fixtures/simple/server/metadata/2.snapshot.json @@ -0,0 +1,19 @@ +{ + "signatures": [ + { + "keyid": "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93", + "sig": "d4ad7c68f0d471d0edc2895270908eb39ab60dd32174ca372bcca6eba97eebf7d2f0916cdcae884facb98500a83852dd0cb0de8645996d5f2a00f077f68ca801" + } + ], + "signed": { + "_type": "snapshot", + "expires": "2020-01-08T00:00:00Z", + "meta": { + "targets.json": { + "version": 2 + } + }, + "spec_version": "1.0.0", + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/server/metadata/2.targets.json b/fixtures/simple/server/metadata/2.targets.json new file mode 100644 index 0000000..c7c02ef --- /dev/null +++ b/fixtures/simple/server/metadata/2.targets.json @@ -0,0 +1,27 @@ +{ + "signatures": [ + { + "keyid": "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4", + "sig": "ae328ec35ffa1e5888908081a9b7717defc7aba6a1c8d235b2afa7619a533be339aa47317dce809226189208aff3b5317dc1aced914c511b91a92615c4be0503" + } + ], + "signed": { + "_type": "targets", + "delegations": { + "keys": {}, + "roles": [] + }, + "expires": "2020-04-01T07:27:10Z", + "spec_version": "1.0.0", + "targets": { + "testtarget.txt": { + "hashes": { + "sha256": "c9e2a718ba4f180100e413382c9bee5759df61c1f2c31be0e09a03e378151371", + "sha512": "17dd75df5d24fb7c29cf8ad4c993e53b60933f5adf424071c8634569c756c84de863415fdc9b444ef7794875997b60615bdcdc406c6a55c105b49748d6ef392b" + }, + "length": 24 + } + }, + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/server/metadata/2.timestamp.json b/fixtures/simple/server/metadata/2.timestamp.json new file mode 100644 index 0000000..493c2d1 --- /dev/null +++ b/fixtures/simple/server/metadata/2.timestamp.json @@ -0,0 +1,24 @@ +{ + "signatures": [ + { + "keyid": "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae", + "sig": "d4782228149933a43d54a4c0036d876335fb14289195a1183d67e9c4b8a7e9d2c51dd7fd222d7bebcbe8d7158c197bebc9190928a40f45407c52bc6d31d89401" + } + ], + "signed": { + "_type": "timestamp", + "expires": "2020-01-02T00:00:00Z", + "meta": { + "snapshot.json": { + "hashes": { + "sha256": "4bbd15caf73960e46f11a1dace6fc518d89bb0218592ce9da01b76249ab7b738", + "sha512": "0b4957bc8adcb717d31eb7c0fb6f849ddbc9c4f98a86f27c1e9fe667c990b699be0675521216f127786bc27b6f47f16143fe269b5606169855b319e8a8c4c6d2" + }, + "length": 431, + "version": 2 + } + }, + "spec_version": "1.0.0", + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/server/metadata/root.json b/fixtures/simple/server/metadata/root.json new file mode 100644 index 0000000..2d5222c --- /dev/null +++ b/fixtures/simple/server/metadata/root.json @@ -0,0 +1,87 @@ +{ + "signatures": [ + { + "keyid": "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129", + "sig": "e911db300e8eb378a2cabc48979e4c8f72beca30335db0579a7a1d81ae90c8bc63c27d92ce5a17846e3b1adb63a45a411bb4308e018e0d3cc4c9908311b5f208" + } + ], + "signed": { + "_type": "root", + "consistent_snapshot": true, + "expires": "2020-12-31T05:48:20Z", + "keys": { + "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "6bac59b8d9e1aae02fae6fba6e7fe3fc9fe5b4a9fe98c3fca255d8c8ec3e5b35" + }, + "scheme": "ed25519" + }, + "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "6400d770c7c1bce4b3d59ce0079ed686e843b6500bbea77d869a1ae7df4565a1" + }, + "scheme": "ed25519" + }, + "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "28bf74baa87ed923f8fa27e3292684f8ec4730ce0bdc65150ed58199206ce089" + }, + "scheme": "ed25519" + }, + "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4": { + "keyid_hash_algorithms": [ + "sha256", + "sha512" + ], + "keytype": "ed25519", + "keyval": { + "public": "e6ae9d3b67d7b3ce274130291dd90287f32b8fd72bfb4ac5430859ebd1c28a46" + }, + "scheme": "ed25519" + } + }, + "roles": { + "root": { + "keyids": [ + "d4dab4b4d68b91665a6d0dac5b4e64677aa6d853fc787669168b4b4ba9822129" + ], + "threshold": 1 + }, + "snapshot": { + "keyids": [ + "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93" + ], + "threshold": 1 + }, + "targets": { + "keyids": [ + "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4" + ], + "threshold": 1 + }, + "timestamp": { + "keyids": [ + "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae" + ], + "threshold": 1 + } + }, + "spec_version": "1.0.0", + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/server/metadata/snapshot.json b/fixtures/simple/server/metadata/snapshot.json new file mode 100644 index 0000000..f9f4afc --- /dev/null +++ b/fixtures/simple/server/metadata/snapshot.json @@ -0,0 +1,19 @@ +{ + "signatures": [ + { + "keyid": "77dfdca206c0fe1b8e55d67d21dd0e195a0998a9d2b56c6d3ee8f68d04c21e93", + "sig": "d4ad7c68f0d471d0edc2895270908eb39ab60dd32174ca372bcca6eba97eebf7d2f0916cdcae884facb98500a83852dd0cb0de8645996d5f2a00f077f68ca801" + } + ], + "signed": { + "_type": "snapshot", + "expires": "2020-01-08T00:00:00Z", + "meta": { + "targets.json": { + "version": 2 + } + }, + "spec_version": "1.0.0", + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/server/metadata/targets.json b/fixtures/simple/server/metadata/targets.json new file mode 100644 index 0000000..c7c02ef --- /dev/null +++ b/fixtures/simple/server/metadata/targets.json @@ -0,0 +1,27 @@ +{ + "signatures": [ + { + "keyid": "e4dae3872d28d29f7624a702bfd25f68453544d597229ee9e0a8569d1f940cf4", + "sig": "ae328ec35ffa1e5888908081a9b7717defc7aba6a1c8d235b2afa7619a533be339aa47317dce809226189208aff3b5317dc1aced914c511b91a92615c4be0503" + } + ], + "signed": { + "_type": "targets", + "delegations": { + "keys": {}, + "roles": [] + }, + "expires": "2020-04-01T07:27:10Z", + "spec_version": "1.0.0", + "targets": { + "testtarget.txt": { + "hashes": { + "sha256": "c9e2a718ba4f180100e413382c9bee5759df61c1f2c31be0e09a03e378151371", + "sha512": "17dd75df5d24fb7c29cf8ad4c993e53b60933f5adf424071c8634569c756c84de863415fdc9b444ef7794875997b60615bdcdc406c6a55c105b49748d6ef392b" + }, + "length": 24 + } + }, + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/server/metadata/timestamp.json b/fixtures/simple/server/metadata/timestamp.json new file mode 100644 index 0000000..493c2d1 --- /dev/null +++ b/fixtures/simple/server/metadata/timestamp.json @@ -0,0 +1,24 @@ +{ + "signatures": [ + { + "keyid": "3a05831328273e4b821c3bbe1fed0c5332749d8e071675879af26a401a5c85ae", + "sig": "d4782228149933a43d54a4c0036d876335fb14289195a1183d67e9c4b8a7e9d2c51dd7fd222d7bebcbe8d7158c197bebc9190928a40f45407c52bc6d31d89401" + } + ], + "signed": { + "_type": "timestamp", + "expires": "2020-01-02T00:00:00Z", + "meta": { + "snapshot.json": { + "hashes": { + "sha256": "4bbd15caf73960e46f11a1dace6fc518d89bb0218592ce9da01b76249ab7b738", + "sha512": "0b4957bc8adcb717d31eb7c0fb6f849ddbc9c4f98a86f27c1e9fe667c990b699be0675521216f127786bc27b6f47f16143fe269b5606169855b319e8a8c4c6d2" + }, + "length": 431, + "version": 2 + } + }, + "spec_version": "1.0.0", + "version": 2 + } +} \ No newline at end of file diff --git a/fixtures/simple/server/targets/17dd75df5d24fb7c29cf8ad4c993e53b60933f5adf424071c8634569c756c84de863415fdc9b444ef7794875997b60615bdcdc406c6a55c105b49748d6ef392b.testtarget.txt b/fixtures/simple/server/targets/17dd75df5d24fb7c29cf8ad4c993e53b60933f5adf424071c8634569c756c84de863415fdc9b444ef7794875997b60615bdcdc406c6a55c105b49748d6ef392b.testtarget.txt new file mode 100644 index 0000000..22ee8f4 --- /dev/null +++ b/fixtures/simple/server/targets/17dd75df5d24fb7c29cf8ad4c993e53b60933f5adf424071c8634569c756c84de863415fdc9b444ef7794875997b60615bdcdc406c6a55c105b49748d6ef392b.testtarget.txt @@ -0,0 +1 @@ +Contents: testtarget.txt \ No newline at end of file diff --git a/fixtures/simple/server/targets/c9e2a718ba4f180100e413382c9bee5759df61c1f2c31be0e09a03e378151371.testtarget.txt b/fixtures/simple/server/targets/c9e2a718ba4f180100e413382c9bee5759df61c1f2c31be0e09a03e378151371.testtarget.txt new file mode 100644 index 0000000..22ee8f4 --- /dev/null +++ b/fixtures/simple/server/targets/c9e2a718ba4f180100e413382c9bee5759df61c1f2c31be0e09a03e378151371.testtarget.txt @@ -0,0 +1 @@ +Contents: testtarget.txt \ No newline at end of file diff --git a/fixtures/simple/server/targets/testtarget.txt b/fixtures/simple/server/targets/testtarget.txt new file mode 100644 index 0000000..22ee8f4 --- /dev/null +++ b/fixtures/simple/server/targets/testtarget.txt @@ -0,0 +1 @@ +Contents: testtarget.txt \ No newline at end of file diff --git a/keys/0_key b/keys/0_key new file mode 100644 index 0000000..e23828e --- /dev/null +++ b/keys/0_key @@ -0,0 +1 @@ +2a56071cdc567ebf897df1bf21f00d2a@@@@100000@@@@6dbc945dd60f2a924116e48887c457b17da412f32d6529b770a3f95daaeedd83@@@@bf607649a08aaabe0764b5e53b7211e1@@@@f2f0717d46b2a8b49411553df1d4aae8e2e6ffaca6bd5090f2d3fe5bfa6447267eb13c1a76d55a1001d30efba9db1f7c51b854362618d14a5dd7a55f4faa4f1f8244d1094211106fa9da53daf6146d82cf0b6e42c357c01cbe0fddb6fa4d8a93134f5231a1204ae4da8a623018867a250ca4c03a619971d92dce28c5d276b292209bdb990c1f30684053da70460b898386afcf0b34dd9ae810e111ec4761306a0fb520c4d28099c8806330051584e7fa8ad1c9901c99c41ce4b63f1e4cb57b1d2e9810d80e523a7912291624bb2c95d2d49601dd3e79b1612c924755ff3a362d35b10a03c489a6ce47045200cb1ea9d9a75141f13a8bf7be05453ddb13eb64bc0bfa5c6873d2b410e2d90d60e6bce6b403e4cbcb7bc874dfde114dba8376b1a4d3c1d788952300a29c6e6c9d70faadb2a88467c47e0abbab6d073b7e42b9389162c2526b3964e55e40c07be160c0ce4a \ No newline at end of file diff --git a/keys/0_key.pub b/keys/0_key.pub new file mode 100644 index 0000000..c1fa444 --- /dev/null +++ b/keys/0_key.pub @@ -0,0 +1 @@ +{"keytype": "ed25519", "scheme": "ed25519", "keyid_hash_algorithms": ["sha256", "sha512"], "keyval": {"public": "28bf74baa87ed923f8fa27e3292684f8ec4730ce0bdc65150ed58199206ce089"}} \ No newline at end of file diff --git a/keys/10_key b/keys/10_key new file mode 100644 index 0000000..fbe7b2e --- /dev/null +++ b/keys/10_key @@ -0,0 +1 @@ +5b13ee7f3720895230732b155aaf2332@@@@100000@@@@80c3b42585e084443ab63bcfeebf52e270de626a23c95af6fa0fd546610df59f@@@@d123189cccc3e68aaf0b20363fcdb205@@@@72b3cf564c96ceed9e71b46bd6209d6029d6a30a177152a40bd6e8d38fb2e119f61d8e8426577fa20c7494f27b435a9a2b68664a84628d6818278c37ec6cb456dcc308345384ee0a1bce7c91a21234d5274fda69c276480a75672719abb0e1b8802fa00f107672b91379f9c2ccc74976f506a94524d4f1957a26d8c29af3fae7d916e8b045d3a0d8f1460ec5416ba408ee22169431cf7feb75f50148b839caf536bf728702ebb5073614040cf65c6aaf0bec893c223ce9959230d0079d9f729817c6ff56e74545e0989b7d811c2861d1ae1eb616ba1e72e15115a2bb036912aaaf19339a77bce30eaf15afdda4d250277553a36c1019669c71d4b0e090b7cf1d92c596df1f50391459606aa92c43e659fad5b290604b09691d6fe2d76a2c9da6394b6ab64f111646811603c32bc84fd80d54c61290abcb3a8aada49e10abedb63c790f7641c67b947eb36e35368df3b6 \ No newline at end of file diff --git a/keys/10_key.pub b/keys/10_key.pub new file mode 100644 index 0000000..8fcffe0 --- /dev/null +++ b/keys/10_key.pub @@ -0,0 +1 @@ +{"keytype": "ed25519", "scheme": "ed25519", "keyid_hash_algorithms": ["sha256", "sha512"], "keyval": {"public": "f6b299bcfb4e15ef652c80e9e3dda995acbb4bf71dce889a82ba70228e45a8bf"}} \ No newline at end of file diff --git a/keys/11_key b/keys/11_key new file mode 100644 index 0000000..f815e4b --- /dev/null +++ b/keys/11_key @@ -0,0 +1 @@ +b8320e3d8175793d728f1e54c22e45f9@@@@100000@@@@f2e672c3dda1e4909f62de107632bd13f7dc719aacbed626655f672b4c4c0535@@@@2aa94b4a337dd550dac957de0de5839f@@@@85a14a4cbfe466e8b5f7306db4357fe5b1b852f5057d95ee374f271483e6ba02a38501c9e4d482fc2a764fa25361298cec7cb857a2371778e8273c58e24eace75aa5e17dbbb3deb2f0f076cc510153825c4e5e14bfb4cce9b6d1fda19888a6b45ab9853e0abf4d4d87f2e12b44250b6228dbd93998365acd647504beffc12800d691a118bbd73e572aece4159947a97f51a28e5474377d694a990546936bb8f2bfed74988f2af1f280a78e4155dfbc88438ff9203be0de4c91d91bf6145124189685610a599cead73e591e9d9f45cf212c3208ef8305b476a0c0543c486410dc55f1781877cc6cbaee8dd7a1ea778a13f2b7df52be64e2dbd247f7ea2e4b7afaf5bc0b7d62da7f96220f7d12d92884d3e6b81db182747d857fb4cce8e95072fff7d14f1d8dd3f0331182fc694ae906f91f517ec71a7b14940aa89ab8ab78b5b65a38bd9319d118a86f8eccd090ffc7c6 \ No newline at end of file diff --git a/keys/11_key.pub b/keys/11_key.pub new file mode 100644 index 0000000..14f5e43 --- /dev/null +++ b/keys/11_key.pub @@ -0,0 +1 @@ +{"keytype": "ed25519", "scheme": "ed25519", "keyid_hash_algorithms": ["sha256", "sha512"], "keyval": {"public": "9b1db36a5cad80284b5f40b040621e0e444f25ee09efa5c1fd6da4499c711bd5"}} \ No newline at end of file diff --git a/keys/12_key b/keys/12_key new file mode 100644 index 0000000..779f9ce --- /dev/null +++ b/keys/12_key @@ -0,0 +1 @@ +4ede56ed77003cf7bf97f706bf303e21@@@@100000@@@@c628c83f3619e0a70f69cb1db7dcbfc5d99219b933ff9d92b60a4c5250993d5f@@@@db063853cfc0caa060b69e4b78a1cc5f@@@@8881ba6d39297f89d796e1bd1636d0bd7b938dfd47d837ca7da0c95c001a3e59741d01f56fae02a1254fc17bb6293492ff103d5c5a5e16ca1ad2519f5af7860694f41cf9f1a9a3b6902652198de490b42501b66faa62b173926b0533d938c91454adc856de076aa9aea340655ab67a4e17a814ecb8902bf53bc9b4a0e03a984b14aa09bc3f1f44ab6d014394dacb1e6012b78a3a413b5b0f16b2912ae029dacb7924320282c181d76ce217de02e235ba60ce17b40e7513de451d699ce3dae013ed034eceabd3568d51f8bd7949377947bf419defbbef4827e5ed603fd17f4d07e0a08d83ac06b261c066ba568f17a3b1441806ba8ef2a7336fc90bc9cd50ecf590f44418b567937a47885f939919ef196bc3b95d138f3933af8a3d9f4f0bd49c4506529be49d238595a0a5a32e5db61ee2c591cac895a30586ca622172a8bb8a2f09e78af1181d63ea0796e5065b3f7a \ No newline at end of file diff --git a/keys/12_key.pub b/keys/12_key.pub new file mode 100644 index 0000000..d425d02 --- /dev/null +++ b/keys/12_key.pub @@ -0,0 +1 @@ +{"keytype": "ed25519", "scheme": "ed25519", "keyid_hash_algorithms": ["sha256", "sha512"], "keyval": {"public": "4cda5fbefc48b179e3ccd630affc0190e8dd0a391f3f50c834c8851183d12c3c"}} \ No newline at end of file diff --git a/keys/13_key b/keys/13_key new file mode 100644 index 0000000..16184bb --- /dev/null +++ b/keys/13_key @@ -0,0 +1 @@ +19cad0ad18a08c8ee6eb2ef73707beff@@@@100000@@@@d9192082dc67e8e8a83b1157601b648dc44887f6bb2f9571be8bc26f1569729b@@@@ed071f66afb29126740b51a63257bc4e@@@@a2e6a15613f9f1a6fe4100866c544c29bd78bdf87f281fe5d74ab726348211208d49293806f465b3bea9fd020bd42f2656dbd1bdef73da156e72031eb66a20d07ef3c00460337e9c78a8a92e01bb718fa3e79d9595658b011d5c71d3158d0ababd5988a321374054894a36f2cea1be884093abfec5dc38cf16b266e3bfdcdbf5b05f35b78f8e33ac66795415f915f720b2c6457c2e3a282ae71afce97193f46ba87a0451a02a4ac821b39c4eba1e46c633d49eb8ef6c8098d6e697758807782e346684a82e32215d895480ce807761a7c793bccf9408ff752e74d755d313a752267b6c485dbf40d7499c386a3af08726557f60e541780d7e160ff8a9963fc226cc75e06619472f648ba3eacb8cadabba688d9c084039ee4cbebe53ec52f3810b2424f9e99bee10c292f571ae9e392b069b6291216a2a23f453fcb0c4048ad104b2270100a66c360dc5481617b6fe373e \ No newline at end of file diff --git a/keys/13_key.pub b/keys/13_key.pub new file mode 100644 index 0000000..728929a --- /dev/null +++ b/keys/13_key.pub @@ -0,0 +1 @@ +{"keytype": "ed25519", "scheme": "ed25519", "keyid_hash_algorithms": ["sha256", "sha512"], "keyval": {"public": "0e0af300cf77cad9451b2ccda9965695fd6d4f7b7095b7dd201f3ac6e1f38c3e"}} \ No newline at end of file diff --git a/keys/14_key b/keys/14_key new file mode 100644 index 0000000..a7418ba --- /dev/null +++ b/keys/14_key @@ -0,0 +1 @@ +c5221bea5272555d66b064911cd040bb@@@@100000@@@@50f150cb65889084b7f7c550eb66862ad1d002fca8eee4050c79a12907392419@@@@4271dc7da1655540cc576ba946dd7ce3@@@@a0ada2a75625de515da190523f98e5323407a4546712b65091747667c0856602cceb7df4dab3282f2da7cc02bda6a0016535e103676e7cf2ad808565ff0ab7e417364218ce92c8800e2837b239703df295c9f026e22855a6c640dd3576d90f6d57dec3d5508732dbd80b35cc536b06b35f535e70b3f03680a4bb948cf23bbad17b12602bcbe0184ece3ba70ed8680784ed734e0ebd689a90e240ffa6dc7fd9278a94409b2ec6087eba0f87161a40091c5f6bb0ecd34debb667aaa7ddc07c032c429e9ce4cbe5cd5c518a68b566c08faba90ff4638e667481f5871c24b17cd786f31433c7b4ba021a76937cb28f16be9fbb78e081d16fd535b08928302a0f027b7c2a32fade93483f53c915b6b0d5d3fec4ce5bf48fd9bf54610537fb23dfec6e75703edc6564f0b8275a19d7831ffa8c86b5b15c654304efcaee1f232e1e86809c5954a6a97fff4d16c9f387bafec4ee \ No newline at end of file diff --git a/keys/14_key.pub b/keys/14_key.pub new file mode 100644 index 0000000..6fd88df --- /dev/null +++ b/keys/14_key.pub @@ -0,0 +1 @@ +{"keytype": "ed25519", "scheme": "ed25519", "keyid_hash_algorithms": ["sha256", "sha512"], "keyval": {"public": "b344623fb077df4ba6f4456ff0b3cc67e233d4586e13731135efb79d7a19d4a2"}} \ No newline at end of file diff --git a/keys/15_key b/keys/15_key new file mode 100644 index 0000000..73a872f --- /dev/null +++ b/keys/15_key @@ -0,0 +1 @@ +56955d4230b845cce7db5744757a29cb@@@@100000@@@@f95dfac4e8ed775f9be29909a5151108cebf7d0d2f8b7033e0a9c46dbdb74c56@@@@98f1206687b5d4392daba519dd897580@@@@2be86c837bbc22c0b75b57f8e41cc82d2b92e5499060606375f754f0149e466a32b3364dc3d688e76be2b43f2718590da5720c334320ddc0e1ad23a9946d9932137aa6ec6ec347210c222d945ad8d19d12dc3ca1a564466312bfe54ed9b2f1e389c000e5c68cecab95945a11e09584d96fe44eab3088038bd3819b9a9e26416036430f5bb2bd1e87cd7a72d7d2f641835b0aa5ccc1ad8a51b458201b609c87b44b1e834fa0bd50e11686b942b2a53379a6aea747d9d7f3d72a634a84b97cdf02e1108303cae4dd3e535f23ebbe3f1d01c46826da4920598b8a09a069769cc694912eaaaf0289df7696d636b59e84b56d7e6175bf3dc44cdb5a47d327ee90fe70a033006d1b975942e57aee9586d57ce27865b58abba7294a4fd4a75c1902deda2ba04563361c66d7a191c3ddc550f9b375bcab6d5c8a763dde202032ad128a1bcc84a04651873ec4303695a174e0f5b1 \ No newline at end of file diff --git a/keys/15_key.pub b/keys/15_key.pub new file mode 100644 index 0000000..cb2465f --- /dev/null +++ b/keys/15_key.pub @@ -0,0 +1 @@ +{"keytype": "ed25519", "scheme": "ed25519", "keyid_hash_algorithms": ["sha256", "sha512"], "keyval": {"public": "91f20c58b14fe80a6e1d25c9365a81bdf52b590f9233affc61d97b4818d7fcb2"}} \ No newline at end of file diff --git a/keys/16_key b/keys/16_key new file mode 100644 index 0000000..055ff9e --- /dev/null +++ b/keys/16_key @@ -0,0 +1 @@ +8f61d689d9257c0dffa9fcfaba2668c3@@@@100000@@@@8c23dd4d12a2b2304bc77c1d371ba4c6c2c85bdd2d58885044ecc54748bdadde@@@@862882260add41f51ba6fa1b0521fcab@@@@523ecaa4b99764240a0563ed06d5babbe70518b9ee7b06be9fee589df299bb8a83c589f4ee4a95a0cbc3dd1a1f020ac42278160bf0a7685a25ed90400e8fef8d50bfed0bebbfead269b914c2e2f3340cf4c0dd640a47c2be4526d796d6a234d566dffd0956f28d86aea26245b5e57fbdc02b2321b866a07e4bb85f3013aea414ce6c54215afa0823511cb6bedc2bd00e8e3bf2aa794f3ed7d8fb82d152ae03dafced780819f241274a63537a44b69692e9a7ef9403136680a09ee9f2992aa27222292ae3b1ba5c383a20cae2848a2de5407d3444aa4453031c9b479c991cfd0c658502402e3681713ace5e08834531de9a8f26267d43a78a322fa63659ce580b93e4ec8c026bd4199db6a1fee132bdfeaee91d08442fe0ab2d74b8dd5d511004edacfad93dc5bbc02b69667a8a3c51236d84c19e749e230972e43286d420a6d30d8f494fe0793137822d1e88434d7d80 \ No newline at end of file diff --git a/keys/16_key.pub b/keys/16_key.pub new file mode 100644 index 0000000..f0ad0d7 --- /dev/null +++ b/keys/16_key.pub @@ -0,0 +1 @@ +{"keytype": "ed25519", "scheme": "ed25519", "keyid_hash_algorithms": ["sha256", "sha512"], "keyval": {"public": "5b11e1690f25cbc096f7c0cc799c37f1641464cf7769e0729fc47f25b1c46c18"}} \ No newline at end of file diff --git a/keys/17_key b/keys/17_key new file mode 100644 index 0000000..4b209d2 --- /dev/null +++ b/keys/17_key @@ -0,0 +1 @@ +1233adb06f7364b0fe2363f78cf62b4d@@@@100000@@@@bdc9de02f20fb01d0c725ff47f51d963144256e50eef7a7342a091c3054bfe5b@@@@3529ed56edf3b83e06263fe23f99d7da@@@@b4c50cc2e42ac4a07d05035040bbb2cf69f6a79525ab8bbe23ada43c580711858f540abe6b6787e1716b0d2b600f82764b26bc788cfd7e6dc8608c29f8df560132c74c54e4143de6e35444249da5baaf4369b381315257edefd17d88563f44338e5a31f5255ce4390faab938610a030e37ca670253483b5ff67d2f0ecbc45f0387aacdb1a191c5b07751548cab63369e2a9117aaa8ee4d058e43bcaa1399ab4064e5cc085bbf1b56f3833baba102dc91a062cf3f30ba694d0d48473c1557079d43218efc6c7c3bd478a7e590d8a6c2692199d180d4c67df918ad37856e961d0702353d7c76b55cd2b154d557d3cbda1373d83b098e8c083bd890fd3be23bdd9b36915e93f212fe4c7f96798b3e977ce34ab5a0aacad67da74c431ddbdb1c6e42dcfc93ece269c1fdb13e74fb9e2bb268a2df05605ec37c66b83133bce09a3896666b6f1cef29374f075a442c82ee6afc \ No newline at end of file diff --git a/keys/17_key.pub b/keys/17_key.pub new file mode 100644 index 0000000..56cbc67 --- /dev/null +++ b/keys/17_key.pub @@ -0,0 +1 @@ +{"keytype": "ed25519", "scheme": "ed25519", "keyid_hash_algorithms": ["sha256", "sha512"], "keyval": {"public": "67030d4a002627529ff8c68a026d2e163972a4f4d70dcbc8514df13ef4d998e4"}} \ No newline at end of file diff --git a/keys/18_key b/keys/18_key new file mode 100644 index 0000000..f928c4f --- /dev/null +++ b/keys/18_key @@ -0,0 +1 @@ +66e75d90203f1eaf6fdfffd6625f22e6@@@@100000@@@@9a06c601217424b30547ab4b7f907c1824795869425536a733c61621b786393f@@@@6df0eb1ce554b06b017fd563b9299363@@@@d8640b6e40e441bd7d72d51fe3cf13d06de45ca57d677cbcdbb4deef8e553552384a4a2ec28d23d0a3b1de0fa5fb783e90648d78ee71df82480ad6122ec50957c2fff03b7ac1e633125968e3a67f231811482d2b4e5be1c34fca8fc8e601344985641d7b9a801367383040860f59e9e3f2dd2b30ee5a8f8c0f625fc2dd1f8f78a1c4e7102a367c7d66ef42a4f5579d0c587459137f89abf4f36053a369fd86f17b809764dcca472ec6ab85d5a43b4950cccb979408fc6eec8486d3eccd4746b6eb7ed8c34a15d73e704c80c5b7baf1f5039b8b480ad881f8d35a1f20babdb3f25e883d8b5d2aaa641c429a4b4ef5f9c27df84777d026b0dcdde915d6645e890ea42e7487d28cefbf4555f7d595da2bb9d2896fc5f33730ba80911417f62e61fa98ff8b0a03bc54a834b87a6f8cd4ea9807a91426703a09547fcd45558518e4e52518ba22ad65a47dc9a0c52d4f20fe8d \ No newline at end of file diff --git a/keys/18_key.pub b/keys/18_key.pub new file mode 100644 index 0000000..f9007b6 --- /dev/null +++ b/keys/18_key.pub @@ -0,0 +1 @@ +{"keytype": "ed25519", "scheme": "ed25519", "keyid_hash_algorithms": ["sha256", "sha512"], "keyval": {"public": "869dda74e52de9c34d591ede1c94dabb16be75289882cf14571b58ceba99488e"}} \ No newline at end of file diff --git a/keys/19_key b/keys/19_key new file mode 100644 index 0000000..d04ded4 --- /dev/null +++ b/keys/19_key @@ -0,0 +1 @@ +5977571a9a08a19dfdffc1685ecaedb1@@@@100000@@@@1969cd2e5cbd72eb20a00a3a918cd7dd0d22667be2ad1207d0c2504afb82c19c@@@@51544c91f484bf75d8b2608799e3a82b@@@@f211beba106f144ddb5bcc7d37109beb00529b601183c302b923e1fc51b7216237678d351139e02e2813189ab7d20a23724f751d50d7868de5596a841d65fbe8f2e6380de3d6263b7991fed5633479178a9c1c16931670524ecaaace92dad50dcd28707192d42828f9e835c98d6fccb3e7d8571af01ae31dcb5969e90958702e176e6ad9bfc31526e2e7ceee64addf088f503519802835b41f8ccdadf20cdb2a952ec895a36bfd1e943893fe14a8694301147ffa43cbed325eb4d818f303c5540c1a98a86f5ed408a9b01a7c374f75139a3a170e8fadefc40ef67b1ff9ed89db4523d3bea9f3fa1924ae2db2e5449f731b338f3d8a1db38cba882674da665336bee7f5793ea0ae03d6793119fcb86b674ff84b197996b8770ed4afbcbfb1566ddef72f71ec0a1e9d349594970137993f54f9bceb64104a6834fe068744166067b938930248d4c50a2ff39bd65db5ce97 \ No newline at end of file diff --git a/keys/19_key.pub b/keys/19_key.pub new file mode 100644 index 0000000..ccd17b7 --- /dev/null +++ b/keys/19_key.pub @@ -0,0 +1 @@ +{"keytype": "ed25519", "scheme": "ed25519", "keyid_hash_algorithms": ["sha256", "sha512"], "keyval": {"public": "74e562b820b19720d03e575af4e23e72c62da2509adec1b1b84f5bc8fcabdc1c"}} \ No newline at end of file diff --git a/keys/1_key b/keys/1_key new file mode 100644 index 0000000..bea68f5 --- /dev/null +++ b/keys/1_key @@ -0,0 +1 @@ +634803bac402b595a5eac7eb4a38a492@@@@100000@@@@0fcfc97a8d7e55d0aa956906fd40518524fa2fdb29cfa2e4e1ba93bbde72f01f@@@@bfc4ef67ad533dd6ed69e0e89f97f53b@@@@fddd7917eb4bb234031b10e54a5ca8cdc69fd860ee77264c8c0a8f692ee690ee471d3e443ec6f418a8855d468b5799a6ea008493ac57d683f8fc7fa629d6a2e312a87630ce654cd1e3063812480964ee1aff1e51fc0e4f581c465ea468f76a0900a389413b49cb8ecf129425d962cff12b4e37bad5b81436f4df39301161d62af62fc804135b8023e6378ab308f267e6c6558889b8c521f9e96531f59cd04c9261d056c1ba2a08339ab0ff0241196d0df9d21194b7d35097e66ebaa8b955461377fa3a7c7c1df7ee8a95cef3f6dd8b82dd88976a5a0ce7a54016ef90363688e2f73be9a291a922364a93cc5fc4c4806c594aec3ee30ff88a987e5082c8a8d748e350f915da8c83dde0b869bb9e8811af2a9737426fc1d1e1d9121f255260348432fcd680b83094f74538bef4add14bab02f739cbb5e41cd85a51cf7e8907e5195a491c29bbbeb3005565ca371ae4527a \ No newline at end of file diff --git a/keys/1_key.pub b/keys/1_key.pub new file mode 100644 index 0000000..f9e3b27 --- /dev/null +++ b/keys/1_key.pub @@ -0,0 +1 @@ +{"keytype": "ed25519", "scheme": "ed25519", "keyid_hash_algorithms": ["sha256", "sha512"], "keyval": {"public": "e6ae9d3b67d7b3ce274130291dd90287f32b8fd72bfb4ac5430859ebd1c28a46"}} \ No newline at end of file diff --git a/keys/2_key b/keys/2_key new file mode 100644 index 0000000..4c278f2 --- /dev/null +++ b/keys/2_key @@ -0,0 +1 @@ +92a9a0467524c1f7bc098a561b24463a@@@@100000@@@@25ca01d2fc5c92f72c9da39f668ed99556ea0b558639066446f0e5b3c0b29414@@@@d28476d1c8a482c0e83ce42dffa52254@@@@560f9f269787eb18da8cdfcf15410e73a3fa815b4e985a15a26535f59ead3ccfa4d1f2c638ba896f1db08548b20a66ccf36faa4d7b601dce80ffc9c3f5763676efb5ee99b18010a9e2ac58d1a0f2839d7af5ef5301294bdf16b468a100b210f29797bc9ab566bbb4884ae0552e5f33a423b1e3ea5b9380da5f078a4e5ee1c475379e776d7a258bdb79878b14c25709c521b6f4b23060dd1cd160e3e177ccaf4d2a4bb72ed5c54493f831ca46b2796d8f71778a63bd7c74262f0d871e5629d33e618741ae381a2bd4386e17a46627cd275bd0f9daa011daba09fb86a8b876ff863d6dce415447a0fffcbcebe792f4af3de4784ffee9242ded6383f4cead36731360a3409f09a5f1431cf38216d6fcbbc67d05f0dc9aae11b9e438a193183359e3a129df8dd668f8160a12229fbbd4e9f24a889006c996c734be4ec5ebec92e75f17b6c06b7830ce2cdb9a5e47a0ab28f4 \ No newline at end of file diff --git a/keys/2_key.pub b/keys/2_key.pub new file mode 100644 index 0000000..7dc4187 --- /dev/null +++ b/keys/2_key.pub @@ -0,0 +1 @@ +{"keytype": "ed25519", "scheme": "ed25519", "keyid_hash_algorithms": ["sha256", "sha512"], "keyval": {"public": "6400d770c7c1bce4b3d59ce0079ed686e843b6500bbea77d869a1ae7df4565a1"}} \ No newline at end of file diff --git a/keys/3_key b/keys/3_key new file mode 100644 index 0000000..0e6d814 --- /dev/null +++ b/keys/3_key @@ -0,0 +1 @@ +126f4ea66086e6a5bd7fc0dea8913eb8@@@@100000@@@@c9d2edb6380e0555afebf9fa7c1a87c21c470b2e87fb6fce3535d4bcbf4c9a00@@@@b5c97112a6563c2101296e78a7d76197@@@@8df73c68e320d28cce4a354a8c3fee30dcaad680a16a7d1c2a07985a45fe2af6aadf871f8fd531340129408b34ee757ab7c674bd8e13f4e3e80cfce500f286d020a2225315a536945d6109bb29486ecdecdb85349fe921288ffd07a4dc435ea6a648092f22aaabcb44d7c4e22eae4e1f8670aa0538c6e73649cfe50c2eaa6db6938af786fb525270041d6061d432f1977623f406cffae83441bd565793d43c441f58e2a31a7cb4298c98aa9db05fc77daf12ad270b96fa7c22c36d7a7618c7c4c0b256408475a565048dc7f9b9e30a20a75189ccc961e47a5871638f5a670523fb036e7ec22d361a4f846864335c697eee76c3e20af1381433b13eccad6940a09910d5e1dae2bcc8cdb8c7633ec60eb03ae810a6590489191da0e24df1222ff7ba7db6ae5d60b23747240cdf456c524edb0f494708b994abad6eec339fe82f16da33520a2c61223327ec2fc05105774a \ No newline at end of file diff --git a/keys/3_key.pub b/keys/3_key.pub new file mode 100644 index 0000000..41b3705 --- /dev/null +++ b/keys/3_key.pub @@ -0,0 +1 @@ +{"keytype": "ed25519", "scheme": "ed25519", "keyid_hash_algorithms": ["sha256", "sha512"], "keyval": {"public": "6bac59b8d9e1aae02fae6fba6e7fe3fc9fe5b4a9fe98c3fca255d8c8ec3e5b35"}} \ No newline at end of file diff --git a/keys/4_key b/keys/4_key new file mode 100644 index 0000000..f384de1 --- /dev/null +++ b/keys/4_key @@ -0,0 +1 @@ +49856b1890d220c99bd57d839333aa86@@@@100000@@@@4207df03d6dd365e0bf8ac4724291f6ed1ab19ef0c822697817025a08141cd7e@@@@b1588b70a9261d08fbcd0329dc313e88@@@@7c332582ea8bdaa946c3403224d0e8412d5dccec782686a6f9cd5b05fb8c1fc161a39375179aa168c8eb6c1b4ef37f682540ac44348ce18e5b4b56414d82fbb6a9bd63b17e8a62930497a4fb4559748673abb24d1e5b17a01c3ff90b19f0f347f2e9bf6bb082d9e136d1e6640924ac7f1577af555d5171612c38084900e6bf5ee737f0cda432c4e617d0ead07e95ffdb41d86445c74daf8f48808ced5019eb840a12f0c8b38b33e7732d76c34ed6b75b36c77114ba3cb4c6c5b1a0bb0f00271e7ae10e0ff3e07edb3663d815695bbc168dbca0515cfd7d3291ceb36c663ae909a736875ce0efd7cb0523de5e364945e4db7236425e53186942a7185a4ebc352cca56b017a77c142d9f74dcf476de1ff241d74ed1375194905e852e0f7615f0a0c106104d7882eabbc2c59f2e29108b3c9238b6580c843784fc3bac2e7b0825a83a275c23fefc1421223e4c071928a5cd \ No newline at end of file diff --git a/keys/4_key.pub b/keys/4_key.pub new file mode 100644 index 0000000..ecb0062 --- /dev/null +++ b/keys/4_key.pub @@ -0,0 +1 @@ +{"keytype": "ed25519", "scheme": "ed25519", "keyid_hash_algorithms": ["sha256", "sha512"], "keyval": {"public": "f758af464295e62a1da4d3267be6d13f4aba9c7d52166d01b6bd5b4559496c9d"}} \ No newline at end of file diff --git a/keys/5_key b/keys/5_key new file mode 100644 index 0000000..4b29db1 --- /dev/null +++ b/keys/5_key @@ -0,0 +1 @@ +da352a4497a9cc8b6c55b32a3a8a9042@@@@100000@@@@ae48826e4edfe05583e1a0b01660236bf6c110093101a3d213079002af22a327@@@@f5f23f4e7e49d1280259855ce25072e9@@@@2b8f68a851d42a9f27c68da05c35b9389e8b8d5216d345ab5d35aef0ea75511d9e335e877253c6752f0fd49fd7afcca4138881818b22999dbe52b23ea19632cc2f213d032f439e7953845d1e0b5f7c170f37d34585b21e89ca1e4cfa8aa5e7782dfdc63f040fa3ffe097d660360fde7556c9d92bcbf4fab192af5f940437ccbae27f70683f833e2f59983b708285edba67fa30f7c377efae3904866ece1b7744618aee6017722dde4cef042257960e0e43e2c8b4775821eafafc34a7a581e006220b54a97289b04596539d66753cc1a28caa94b0f2c5666ece2b093565dcf2ea7fd83e8dd09b8c9c74f28162fb1c4ad6540a16dbd31189b8392e4b550a96b623fc9ffe5aa0ad497f18972466bbc98a0c1612de884f7debcad415ab0cf81357c6e1e1c3bb304e93a8666200844528ccde830f77773850f04a171b35740b1f53606d1f5f5a366343c42b788794f03a34c2 \ No newline at end of file diff --git a/keys/5_key.pub b/keys/5_key.pub new file mode 100644 index 0000000..ab5a553 --- /dev/null +++ b/keys/5_key.pub @@ -0,0 +1 @@ +{"keytype": "ed25519", "scheme": "ed25519", "keyid_hash_algorithms": ["sha256", "sha512"], "keyval": {"public": "82f52e4503dbb364fabe8e5567f1cf909d4175d45468a021dfe75653db9ac98c"}} \ No newline at end of file diff --git a/keys/6_key b/keys/6_key new file mode 100644 index 0000000..5f793a3 --- /dev/null +++ b/keys/6_key @@ -0,0 +1 @@ +f889c0ef645b30c4bc9ef1652a35f63d@@@@100000@@@@ff7ed34b58af21d05c9116240e1935d5a4cffc2197b4a382205b6ac24af8fe39@@@@7fbce74e6a362ad58735f2efd5891dc3@@@@06a71a4717d36ca4dbe4823710a0f9156f2595f4914bd6e5d676e8cc048d1622ff693728cf143571fd4a7ff45c69939eddde0cdac61e44c6c9e3aba3af8b77205aa2c9b7f44723c23c1419554306e270d818ca28c76dd75ef9fa5df422f68ba1ee5b929006edff5bccf0c693bfb5046400069e242284513423566567847a19f2480238e718789ef7906ee53e174c73e0176567eadff32eb838ad903812363eedfc7b19a9023c916ae18f646420eec5800df9b11fe2261adcf47bfe6981622b4e3a66f3477024b37673c3537e0c6b4721875a7c743cb7459ca46b3865bd0306e0139f203599eb88d4f4883d7a7d367db8609e926223326eabec5605cfd9b689c1111ccb1da7f3c193ecd0e9c6a9f690b64e4a295b60d36f6969a8da9716aee1c14476a789054a51228846adf14c0fae7d76e5cbddd73b1243693579887ba0a22b0006972eb0627fa34c212ec296ef988f \ No newline at end of file diff --git a/keys/6_key.pub b/keys/6_key.pub new file mode 100644 index 0000000..065df15 --- /dev/null +++ b/keys/6_key.pub @@ -0,0 +1 @@ +{"keytype": "ed25519", "scheme": "ed25519", "keyid_hash_algorithms": ["sha256", "sha512"], "keyval": {"public": "06e4dee0de7826c8d539a6112940b7459892b4ecaf696e67dc064aea0923f95c"}} \ No newline at end of file diff --git a/keys/7_key b/keys/7_key new file mode 100644 index 0000000..f81222d --- /dev/null +++ b/keys/7_key @@ -0,0 +1 @@ +977ae927d889b919c53fba834e8d89d3@@@@100000@@@@e2743a89f9c88bb0a6fc8bddc05d9a33fbd2b7a1d1f10a71567ee5988d4042e6@@@@bba1ce086a368cd04fe6fd259c5f51e2@@@@514530890cb7e3de52b879e0ac362626874653bf70975ec6475a6edb75eb508065d1926499fedb5900a388a185261447ea4160158fecdba56259c2a809ff964bb96a8be56ad54f01f85b07f9218527af41fe4874ea9813a8148d837c1a5dc1ce93579943ed6404b924f99d31b82c7a8b52d47ebf7867bedc5883f00794a5f083496e2b8c25a18e6264fef432656ae2c2f6d806c0eb211ec041704a398e008c0240b0aa5faac2e6ebef8c9e07b20e33dbc70cde2a5ce5c1fa2cb48ccbe6b927d471a64747cb2cf7b5ef7a763947bae7677e0c952d0f0a421af568adb90d3797aeee5f0238e78935b7af321ccf25db831d480fe82da380dd9dc56770602a8dfe8c8589dcce28b8456e69c6c429a0a24aa60ee7723501addd1d984b7f8e3c1cc257ea17bc838a7484da9efdd7677610cba6a8a96959089d4a52195322507a75ee517ab1b33a25b24d4ce626d6321c5e97f0 \ No newline at end of file diff --git a/keys/7_key.pub b/keys/7_key.pub new file mode 100644 index 0000000..e44b827 --- /dev/null +++ b/keys/7_key.pub @@ -0,0 +1 @@ +{"keytype": "ed25519", "scheme": "ed25519", "keyid_hash_algorithms": ["sha256", "sha512"], "keyval": {"public": "fa386632ae9cc358ad0b56565edef362ad10d7fadb05bc8dc8995627372b990e"}} \ No newline at end of file diff --git a/keys/8_key b/keys/8_key new file mode 100644 index 0000000..cfbebd8 --- /dev/null +++ b/keys/8_key @@ -0,0 +1 @@ +7a9124c2e9b1c942519cfab0a7d745e8@@@@100000@@@@424280c48ed2d05e1a6c6cf759f3ee6358dac2582448eca1e97ce970005d6d05@@@@c0bb180105cb9d46f53fb719f6c2821f@@@@180bddc28e0d90b3f0cf5ce469f80aedeb2424e67c92ba04404f054c2db698b7362e8ef8964418a1c885ac2398230dc144e06f9ae138a3c9454ebab3795c04868bfa05ea0a905e3a905b45cde04cc01e5a32e9071bae898dbc8a208278f70754085895bee779d762a345aa3cd9149c5c8cf97bd2e834a177324d09867482f615a59201f3c1503292f6bc8a4bc3bdfb79cbb2a571701e879ddbddf20356d6e99fef96967707e55fb4086de982bd4a94abf4af71d794e4d5285a62ab1146f38164b238f0999ad0c70a727c49c5ba657f4719e3fd71fe052671f99d9c38b681afa12e7346c212366aff0105d6a3e63e5dd98b6e4980ab1da5fd7a44b327f06eeb0230ba5bd624ad298fb0bae18dffae524688bd525ddad5bf0b61c77b02cc7c623e403b15dbdeeb168383d48a868bf3a11c857b6d9ef255634d9768da7c51404e888d1ace260a798646c4fc32f4b9077cdf \ No newline at end of file diff --git a/keys/8_key.pub b/keys/8_key.pub new file mode 100644 index 0000000..8399331 --- /dev/null +++ b/keys/8_key.pub @@ -0,0 +1 @@ +{"keytype": "ed25519", "scheme": "ed25519", "keyid_hash_algorithms": ["sha256", "sha512"], "keyval": {"public": "e104199cda6e018d7d9044fa6225aa5dc9c2af5ee4e1c0fe6d16ad002220390d"}} \ No newline at end of file diff --git a/keys/9_key b/keys/9_key new file mode 100644 index 0000000..531a30a --- /dev/null +++ b/keys/9_key @@ -0,0 +1 @@ +2b00d76349c8db3b9fc64d15501fa256@@@@100000@@@@51133f918d2f49a2dfbeb2a78b584bfd17b91dfb11f93b1c9ebf386d03dd1e87@@@@c6cf0e4120252106183a218901f2eed4@@@@cb5cf5736b43dea42ebe688148d1e8b53314f8384449515d11429f16a19afaff4316b5fe02c1d3fbd7488668204b5c6077a7c70e92d07a6e83ee526202e696c3322fbb1e4078cc8a007097ccb0e872c745ee01ec6192e138108965f150f99d8225c5841e9060eda6aa400f8202c979e589b577b6ea9f7aab10996f6334ebf44e3463431dc0c09ca256648c90270ff8cbb7d732a7a38ee69271b33dc10eb0d6d996fa5a11dc8ae151ddaea680b97e713f94666073815f35a3a9794db689c8ab7fadef003a82215129b9041945de2f353bd90b32f2d69316c8acf63b0f78dacb6991f39f26b221215e5aeae0815195eade7380b8c11b5358daa1bfbaf0a91319732f0164a7fd17eca03fed57b97b9c1988ae0bd2b9ffe31e71caeaab7766cdc7f3451ea9bc133d7031f9e0c266f42ba21e13c6d6707179af8fc3157029bef326ca7f28d0052af12dfc87ed7a3147516c6c \ No newline at end of file diff --git a/keys/9_key.pub b/keys/9_key.pub new file mode 100644 index 0000000..8452882 --- /dev/null +++ b/keys/9_key.pub @@ -0,0 +1 @@ +{"keytype": "ed25519", "scheme": "ed25519", "keyid_hash_algorithms": ["sha256", "sha512"], "keyval": {"public": "683d345a948a9baa343be4e44c076ca115da3838e72c28a06340c8ec1b3ef6be"}} \ No newline at end of file diff --git a/keys/README.md b/keys/README.md new file mode 100644 index 0000000..21556de --- /dev/null +++ b/keys/README.md @@ -0,0 +1,6 @@ +# Fixture Keys + +These are keys for deterministically generating test fixtures. It's okay that +a bunch of "private" keys are available for this purpose. + +These keys all have the password `pw`. diff --git a/keys/regenerate.py b/keys/regenerate.py new file mode 100644 index 0000000..5d1ace1 --- /dev/null +++ b/keys/regenerate.py @@ -0,0 +1,13 @@ +# You should never need to run this, but this is the code that generated the +# fixed keys for fixture creation. + +from tuf import repository_tool as rt + + +def write_and_import_keypair(filename): + pathpriv = '{}_key'.format(filename) + rt.generate_and_write_ed25519_keypair(pathpriv, password='pw') + + +for i in range(20): + write_and_import_keypair(i)