Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
149 commits
Select commit Hold shift + click to select a range
bbe899b
Implement MultiRepoUpdater
vladimir-v-diaz Feb 10, 2017
89942aa
Add map.json (needed for testing TAP 4 behavior)
vladimir-v-diaz Feb 10, 2017
7eb49c4
Minor edits to MultiRepoUpdater and map.json
vladimir-v-diaz Feb 10, 2017
ad29eee
Add remaining test conditions for multiple repository support for the…
vladimir-v-diaz Feb 13, 2017
e9abd76
Add test case for MultiRepoUpdater and fix bugs
vladimir-v-diaz Feb 13, 2017
4672d51
Add working copy of map.json
vladimir-v-diaz Feb 13, 2017
45c780c
Add more of implementation for MultiRepoUpdater
vladimir-v-diaz Feb 13, 2017
cf84d3f
Add simple_server.py as a script to make testing easier
vladimir-v-diaz Feb 15, 2017
b438f84
Fix remaining bugs in MultiRepoUpdater
vladimir-v-diaz Feb 15, 2017
bcf3bce
Fix remaining test cases for MultiRepoUpdater
vladimir-v-diaz Feb 15, 2017
07b8225
Save downloaded test file to temporary directory
vladimir-v-diaz Feb 15, 2017
4126fc8
Merge branch 'tap4' of github.com:theupdateframework/tuf into tap4
vladimir-v-diaz Oct 13, 2017
65937f3
Add test condition for _verify_uncompressed_metadata_file()
vladimir-v-diaz Jul 26, 2017
ccbaf14
Edit parameter used in _verify_root_chain_link()
vladimir-v-diaz Jul 26, 2017
b9440d6
Add test condition for _verify_root_chain_link()
vladimir-v-diaz Jul 26, 2017
5179ef3
Log debug message in _targets_of_role()
vladimir-v-diaz Jul 27, 2017
71c9760
Add test cases for _get_file() and _targets_of_role()
vladimir-v-diaz Jul 27, 2017
cad6cd1
Add test conditions
vladimir-v-diaz Jul 31, 2017
b2a183e
Specify compression_algorithms when calling _generate_and_write_metad…
vladimir-v-diaz Jul 31, 2017
31214e4
Minor edits to updater.py following addition of test conditions
vladimir-v-diaz Jul 31, 2017
95ff6f6
Test _visit_child_roles
vladimir-v-diaz Aug 3, 2017
75e883d
Remove print statements used for testing
vladimir-v-diaz Aug 24, 2017
997b267
Remove print statements in updater.py
vladimir-v-diaz Aug 24, 2017
8f1ae1a
Ignore branch coverage for a particular loop in repository_tool.py
vladimir-v-diaz Aug 24, 2017
d0f66f9
Remove obsolete test condition for metadata compression
vladimir-v-diaz Aug 29, 2017
f1caa2f
Remove obsolete compression argument in repository_tool.py
vladimir-v-diaz Aug 29, 2017
ef5b9e7
Add test condition for invalid metadata extension
vladimir-v-diaz Aug 29, 2017
3fae83a
Provide better error message for invalid spec_version
vladimir-v-diaz Aug 29, 2017
f54ef60
Test for specific exception in invalid spec_version test condition
vladimir-v-diaz Aug 29, 2017
e75f186
Finish test condition for _get_file() and test unsafe download
vladimir-v-diaz Aug 29, 2017
90af972
Add test condition for detection of max number of delegations
vladimir-v-diaz Aug 29, 2017
2d19450
Add test condition for cycles in preorder_depth_first_walk()
vladimir-v-diaz Aug 30, 2017
3e0197c
Fix comment and ensure None is returned for a circular delegation
vladimir-v-diaz Aug 30, 2017
9564732
Test condition for unequal path hash prefixes
vladimir-v-diaz Aug 31, 2017
afe8b3a
Fix unit test failures in test_updater.py
vladimir-v-diaz Aug 31, 2017
8eaef81
Fix exception name
vladimir-v-diaz Aug 31, 2017
479c438
Refactor _visit_child_role, remove obsolete test conditions, and impr…
vladimir-v-diaz Sep 6, 2017
c02edd8
Hit remaining lines in updater.py
vladimir-v-diaz Sep 6, 2017
29ae5a3
Drop py26 from tox.ini
vladimir-v-diaz Sep 21, 2017
a0ede76
Drop py26 from setup.py
vladimir-v-diaz Sep 21, 2017
e904ccb
Remove py26 conditional import statements
vladimir-v-diaz Sep 21, 2017
6b56770
Add issue and pull request templates
vladimir-v-diaz Sep 28, 2017
5286c4e
Test only py 2.7, 3.4, 3.6 under Travis
vladimir-v-diaz Sep 21, 2017
e716cbb
Test all supported Python versions under Tox
vladimir-v-diaz Sep 21, 2017
9b7f60e
Add py3.6 to setup.py
vladimir-v-diaz Sep 21, 2017
36b1780
Fix test failures under py3
vladimir-v-diaz Sep 21, 2017
64fb960
Fix incorrect use of json.dumps
vladimir-v-diaz Sep 22, 2017
86cb2bc
Upgrade pyca/cryptography
vladimir-v-diaz Sep 22, 2017
f32e29d
Update tuf-spec.md
goldenMetteyya Oct 10, 2017
87da0b0
Remove references to 'method' as proposed by TAP 9
vladimir-v-diaz Oct 10, 2017
d6e8289
Fix 'schdemes' typo
vladimir-v-diaz Oct 10, 2017
7e46aa5
Add section for TAPs to README
vladimir-v-diaz Oct 10, 2017
787e5a1
Remove example metadata
vladimir-v-diaz Oct 11, 2017
727579f
Edit METADATA.md to expand text that links to example metadata
vladimir-v-diaz Oct 11, 2017
eb23e58
Edit link to nested delegation example
vladimir-v-diaz Oct 11, 2017
cf930d1
Fix link
vladimir-v-diaz Oct 11, 2017
b3c08b0
Ignore virtualenv and pyenv files
vladimir-v-diaz Oct 11, 2017
ab6bac4
Add ecdsa-sha2-nistp256 to specification
vladimir-v-diaz Oct 11, 2017
ad3249d
Update Last Modified
vladimir-v-diaz Oct 11, 2017
9e6353f
Edit specifiation files to point to their new location
vladimir-v-diaz Oct 11, 2017
2e71fb4
Remove obsolete proposals director (which now lives in the taps repo)
vladimir-v-diaz Oct 11, 2017
202f677
Link to the specifidation new location from README
vladimir-v-diaz Oct 11, 2017
d03c7d5
Remove PyCrypto dependency
vladimir-v-diaz Oct 13, 2017
e274b23
Add pyup.io configuration file
vladimir-v-diaz Oct 13, 2017
d05cc55
Update cffi from 1.7.0 to 1.11.2
pyup-bot Oct 13, 2017
a9e9d9d
Update pynacl from 1.0.1 to 1.1.2
pyup-bot Oct 13, 2017
c6b7e4b
Update cryptography from 2.0.3 to 2.1.1
pyup-bot Oct 13, 2017
4f28525
Pin tox to latest version 2.9.1
pyup-bot Oct 13, 2017
2a2ca32
Add pyup.io badges to README
vladimir-v-diaz Oct 13, 2017
7be1232
Implement MultiRepoUpdater
vladimir-v-diaz Oct 13, 2017
28421ae
Add map.json (needed for testing TAP 4 behavior)
vladimir-v-diaz Feb 10, 2017
b38858b
Minor edits to MultiRepoUpdater and map.json
vladimir-v-diaz Feb 10, 2017
03619a5
Add remaining test conditions for multiple repository support for the…
vladimir-v-diaz Feb 13, 2017
dd713a7
Add test case for MultiRepoUpdater and fix bugs
vladimir-v-diaz Feb 13, 2017
c53449c
Add working copy of map.json
vladimir-v-diaz Feb 13, 2017
38dada8
Add more of implementation for MultiRepoUpdater
vladimir-v-diaz Feb 13, 2017
7f8a6b1
Add simple_server.py as a script to make testing easier
vladimir-v-diaz Feb 15, 2017
56aa0e8
Fix remaining test cases for MultiRepoUpdater
vladimir-v-diaz Feb 15, 2017
660a6b3
Save downloaded test file to temporary directory
vladimir-v-diaz Feb 15, 2017
1c8e9e4
Add the missing 'threshold' attribute to map.json
vladimir-v-diaz Oct 13, 2017
937f737
Add 'threshold' attribute to comments and fix line lengths
vladimir-v-diaz Oct 13, 2017
3207337
Ensure a threshold of matching targetinfo
vladimir-v-diaz Oct 16, 2017
b75fcba
Verify that the mapping attribute contains the required fields
vladimir-v-diaz Oct 16, 2017
57313fb
Fix map.json
vladimir-v-diaz Oct 16, 2017
edc53b1
Fix mapping schema
vladimir-v-diaz Oct 16, 2017
d7e8754
Fix parameter name and mapping schema
vladimir-v-diaz Oct 16, 2017
2eb8168
Edit unit test for multi repo updater
vladimir-v-diaz Oct 16, 2017
8e0b2e0
Catch IOError when trying to load invalid JSON
vladimir-v-diaz Oct 16, 2017
2f3dd94
Add test cases for MultiRepoUpdater.paths_match_target()
vladimir-v-diaz Oct 16, 2017
7995667
Add test case get_one_valid_targetinfo
vladimir-v-diaz Oct 16, 2017
ee0ef5d
Add second local repository dir (for map file)
vladimir-v-diaz Oct 17, 2017
ade2b77
Modify repository names in map.json
vladimir-v-diaz Oct 17, 2017
2e0f84c
Add test conditions and edit updater.py comments
vladimir-v-diaz Oct 17, 2017
26b9247
Remove print statements from updater.py
vladimir-v-diaz Oct 17, 2017
334bf3c
Update integration tests following map file changes
vladimir-v-diaz Oct 17, 2017
c9d9c72
Raise an exception if no target is found via the map file
vladimir-v-diaz Oct 18, 2017
1fb2b91
Correctly set up multi servers for map file testing
vladimir-v-diaz Oct 18, 2017
15d29db
Fix bug where terminating attribute of intermediate mappings was not …
vladimir-v-diaz Oct 18, 2017
49b5377
Fix more bugs in MultiRepoUpdater
vladimir-v-diaz Oct 18, 2017
5731be8
Add test conditions for get_updater() and get_one_valid_targetinfo
vladimir-v-diaz Oct 18, 2017
8203aa5
Fix link to APACHE license
vladimir-v-diaz Oct 17, 2017
d3426b1
Add MAINTAINERS.txt file
vladimir-v-diaz Oct 19, 2017
c29c576
Add schemas for some of the map file attributes
vladimir-v-diaz Oct 19, 2017
f5174f2
Add docstring to get_updater() and minor edits to for loops
vladimir-v-diaz Oct 19, 2017
ba0644a
Fix the mapping schema and a few comments
vladimir-v-diaz Oct 19, 2017
60912e2
Tweak map file to improve test coverage
vladimir-v-diaz Oct 24, 2017
ff0d221
Fix stale metadata bug, and improve comments + log messages
vladimir-v-diaz Oct 24, 2017
dba31c8
Cover the remaining LOC for the TAP 4 changes, including thresholds
vladimir-v-diaz Oct 24, 2017
a0c2b45
Update cryptography from 2.1.1 to 2.1.2
pyup-bot Oct 25, 2017
ede3518
Remove obsolete comment about not refreshing metadata
vladimir-v-diaz Oct 25, 2017
ec95a0d
Resolve conflicts
vladimir-v-diaz Dec 8, 2017
65a9a7c
Resolve conflicts
vladimir-v-diaz Dec 11, 2017
d01b451
Resolve merge conflicts
vladimir-v-diaz Dec 11, 2017
4fdf984
Resolve Pylint warning for bare-except
vladimir-v-diaz Dec 11, 2017
31c73a5
Resolve Bandit warning for use of random module
vladimir-v-diaz Dec 11, 2017
65e7693
Edit incomplete test code and comments in test_updater.py
vladimir-v-diaz Dec 12, 2017
08b2a9e
Remove 'self.map_file = {}'
vladimir-v-diaz Dec 12, 2017
7fb6b17
Add comment for loop that verifies required local dirs
vladimir-v-diaz Dec 12, 2017
9d7b07a
Relocate comment and log statement
vladimir-v-diaz Dec 13, 2017
9c9877c
Edits to fix whitespace and line lengths
vladimir-v-diaz Dec 13, 2017
2418df4
Prepend underscore to paths_match_target (internal method)
vladimir-v-diaz Dec 13, 2017
69d2da9
Rename method _paths_match_target -> target_matches_path_pattern
vladimir-v-diaz Dec 13, 2017
371380a
Relocate mirror = {} to else clause - in get_updater()
vladimir-v-diaz Dec 13, 2017
798f4ee
Fix link to SimpleHTTPServer
vladimir-v-diaz Dec 13, 2017
9294630
Fix SystemRandom() call and add comment for chosen port range
vladimir-v-diaz Dec 13, 2017
1d92515
Add copyright, license, and __name__ == '__main__':
vladimir-v-diaz Dec 13, 2017
2362bb7
Convert repository_name variables to class attributes
vladimir-v-diaz Dec 13, 2017
b6216ac
Remove bare excepts
vladimir-v-diaz Dec 13, 2017
f40a6d5
Add missing continue to targetsinfo loop
vladimir-v-diaz Dec 13, 2017
fd685bf
Fix unit tests for _target_matchese_path_pattern()
vladimir-v-diaz Dec 13, 2017
67af7a0
Add first draft of README for unit tests
vladimir-v-diaz Dec 14, 2017
d6220b3
Avoid duplicate port numbers on multiple localhosts
vladimir-v-diaz Dec 14, 2017
6d2318f
Add mapfile SCHEMA
vladimir-v-diaz Dec 14, 2017
72d099e
Ensure the map file is properly formatted in __init__
vladimir-v-diaz Dec 14, 2017
bc86205
Add more test cases for MultiRepoUpdater.__init__()
vladimir-v-diaz Dec 14, 2017
9d9f73d
Add 'threshold of repositories' to TAP 4 comment
vladimir-v-diaz Dec 14, 2017
e230d95
Revise __init__ comment on exceptions raised
vladimir-v-diaz Dec 14, 2017
ffdfaa9
'repositories' map file attribute should be a list of names
vladimir-v-diaz Dec 14, 2017
7c77392
Set repository_names_to_mirrors as a MultiRepoUpdater attribute
vladimir-v-diaz Dec 18, 2017
f159595
Fix test condition for modified get_updater()
vladimir-v-diaz Dec 18, 2017
304f0d4
Remove unnessary check for empty targetinfo
vladimir-v-diaz Dec 18, 2017
4d3cc84
Rename and refactor get_one_valid_targetinfo()
vladimir-v-diaz Dec 20, 2017
93ed8b7
Edit function: get_one_valid_targetinfo -> get_valid_targetinfo
vladimir-v-diaz Dec 20, 2017
f2de898
Add option to exclude custom field when matching targetinfo
vladimir-v-diaz Dec 21, 2017
d1fddfa
Add test condition for excluded custom field in targetinfo comparisons
vladimir-v-diaz Dec 21, 2017
46b7e5d
Edit test conditions following API change to map file
vladimir-v-diaz Dec 21, 2017
576ad2f
Add comment explaining which threshold of targetinfo are returned
vladimir-v-diaz Dec 21, 2017
ee6c9c0
Merge branch 'develop' into tap4
vladimir-v-diaz Dec 22, 2017
14ffb0d
Add logging-not-lazy to pylintrc
vladimir-v-diaz Dec 22, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,14 @@ A Framework for Securing Software Update Systems
:target: https://bestpractices.coreinfrastructure.org/projects/1351
:alt: CII

.. image:: https://pyup.io/repos/github/theupdateframework/tuf/shield.svg
:target: https://pyup.io/repos/github/theupdateframework/tuf/
:alt: Updates

.. image:: https://pyup.io/repos/github/theupdateframework/tuf/python-3-shield.svg
:target: https://pyup.io/repos/github/theupdateframework/tuf/
:alt: Python 3

.. image:: /docs/images/banner_readme.JPG

The Update Framework (TUF) helps developers to secure new or existing
Expand Down
2 changes: 1 addition & 1 deletion pylintrc
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ confidence=
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use"--disable=all --enable=classes
# --disable=W"
disable=parameter-unpacking, unpacking-in-except, long-suffix, old-ne-operator, old-octal-literal, import-star-module-level, raw-checker-failed, bad-inline-option, locally-disabled, locally-enabled, file-ignored, suppressed-message, useless-suppression, deprecated-pragma, apply-builtin, basestring-builtin, buffer-builtin, cmp-builtin, coerce-builtin, execfile-builtin, file-builtin, long-builtin, raw_input-builtin, reduce-builtin, standarderror-builtin, unicode-builtin, xrange-builtin, coerce-method, delslice-method, getslice-method, setslice-method, no-absolute-import, old-division, dict-iter-method, dict-view-method, next-method-called, metaclass-assignment, indexing-exception, raising-string, reload-builtin, oct-method, hex-method, nonzero-method, cmp-method, input-builtin, round-builtin, intern-builtin, unichr-builtin, map-builtin-not-iterating, zip-builtin-not-iterating, range-builtin-not-iterating, filter-builtin-not-iterating, using-cmp-argument, eq-without-hash, div-method, idiv-method, rdiv-method, exception-message-attribute, invalid-str-codec, sys-max-int, deprecated-str-translate-call, global-statement, broad-except, C, R
disable=parameter-unpacking, unpacking-in-except, long-suffix, old-ne-operator, old-octal-literal, import-star-module-level, raw-checker-failed, bad-inline-option, locally-disabled, locally-enabled, file-ignored, suppressed-message, useless-suppression, deprecated-pragma, apply-builtin, basestring-builtin, buffer-builtin, cmp-builtin, coerce-builtin, execfile-builtin, file-builtin, long-builtin, raw_input-builtin, reduce-builtin, standarderror-builtin, unicode-builtin, xrange-builtin, coerce-method, delslice-method, getslice-method, setslice-method, no-absolute-import, old-division, dict-iter-method, dict-view-method, next-method-called, metaclass-assignment, indexing-exception, raising-string, reload-builtin, oct-method, hex-method, nonzero-method, cmp-method, input-builtin, round-builtin, intern-builtin, unichr-builtin, map-builtin-not-iterating, zip-builtin-not-iterating, range-builtin-not-iterating, filter-builtin-not-iterating, using-cmp-argument, eq-without-hash, div-method, idiv-method, rdiv-method, exception-message-attribute, invalid-str-codec, sys-max-int, deprecated-str-translate-call, global-statement, broad-except, logging-not-lazy, C, R

# Enable the message, report, category or checker with the given id(s). You can
# either give multiple identifier separated by comma (,) or put this option
Expand Down
3 changes: 2 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,9 +108,10 @@
'Topic :: Security',
'Topic :: Software Development'
],
install_requires = ['iso8601>=0.1.12', 'six>=1.11.0', 'securesystemslib>=0.10.8'],
install_requires = ['iso8601>=0.1.12', 'six>=1.11.0', 'securesystemslib>=0.10.8'],
packages = find_packages(exclude=['tests']),
scripts = [
'tuf/scripts/basic_client.py',
'tuf/scripts/simple_server.py'
]
)
48 changes: 48 additions & 0 deletions tests/repository_data/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Unit and integration testing

## Running the tests
The unit and integration tests can be executed by invoking `tox` from any
path under the project directory.

```
$ tox
```

Or by invoking `aggregate_tests.py` from the
[tests](https://github.com/theupdateframework/tuf/tree/develop/tests)
directory.

```
$ python aggregate_tests.py
```

Note: integration tests end in `_integration.py`.

If you wish to run a particular unit test, navigate to the tests directory and
run that specific unit test. For example:

```
$ python test_updater.py
```

It it also possible to run the test cases of a unit test. For instance:

```
$ python -m unittest test_updater.TestMultiRepoUpdater.test_get_one_valid_targetinfo
```

## Setup
The unit and integration tests operate on static metadata available in the
[repository_data
directory](https://github.com/theupdateframework/tuf/tree/develop/tests/repository_data/).
Before running the tests, static metadata is first copied to temporary
directories and modified, as needed, by the tests.

The test modules typically spawn HTTP(S) servers that serve metadata and target
files for the the unit tests. The [map
file](https://github.com/theupdateframework/tuf/tree/develop/tests/repository_data)
specifies the location of the test repositories and other properties. For
specific targets and metadata provided by the tests repositories, please
inspect their [respective
metadata](https://github.com/theupdateframework/tuf/tree/develop/tests/repository_data/repository).

33 changes: 33 additions & 0 deletions tests/repository_data/client/map.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"mapping": [
{
"paths": [
"*1.txt"
],
"repositories": [
"test_repository1",
"test_repository2"
],
"terminating": false,
"threshold": 1
},
{
"paths": [
"*3.txt"
],
"repositories": [
"test_repository2"
],
"terminating": true,
"threshold": 1
}
],
"repositories": {
"test_repository1": [
"http://localhost:30001"
],
"test_repository2": [
"http://localhost:30002"
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
{
"signatures": [
{
"keyid": "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb",
"sig": "344e2399b982470a06bbaeb7cd52eb58dfa7fba65d179a737b3655ce79fe722480f9515163010b714debd46a3f9bd60cd04c3c3093c050a9bb6b6fdd3dd1e902b3871198bf13c7c4ace9813527ac0b6f2d7652c64d7993ef88328bc82bea69ffec13dfd545e3ff0d327613b4eea6ad2c50baffd4d7233104427d0c6066fbec5f0091a8004c7f40c0ee59abf4955ab8682d8401f09adb42b0e8897c96ac7eb37843287c60b631ee67187d01e5b3936d84a36881c8e9726dc30bc62442f3849d94c96c62eb0aa66c9d3869e403940f8f7df527b2d3aa109cbf37d1349a8043395c6d2ad3550a64db0eaa39d45d6e30ea7fd06457bf0f033afba6796fbb7160e094e67da21c2f8da2220d10cef5df691f1f919ff14fb00e2b4057d5c099ce8b2d5d2a9e233dc7eb1dc77b24f4f22b219e67e45b3592a1ac873e96456078d82a12c085186f6b50131f2bad32f6bdf3359b141fb898819c98866f55eff686ad5cda01d2661dff6c39b66e5d83dfb65bb276ea4164b1f86c3371dbe635b31c118067ee"
}
],
"signed": {
"_type": "root",
"consistent_snapshot": false,
"expires": "2030-01-01T00:00:00Z",
"keys": {
"4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb": {
"keyid_hash_algorithms": [
"sha256",
"sha512"
],
"keytype": "rsa",
"keyval": {
"public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0GjPoVrjS9eCqzoQ8VRe\nPkC0cI6ktiEgqPfHESFzyxyjC490Cuy19nuxPcJuZfN64MC48oOkR+W2mq4pM51i\nxmdG5xjvNOBRkJ5wUCc8fDCltMUTBlqt9y5eLsf/4/EoBU+zC4SW1iPU++mCsity\nfQQ7U6LOn3EYCyrkH51hZ/dvKC4o9TPYMVxNecJ3CL1q02Q145JlyjBTuM3Xdqsa\nndTHoXSRPmmzgB/1dL/c4QjMnCowrKW06mFLq9RAYGIaJWfM/0CbrOJpVDkATmEc\nMdpGJYDfW/sRQvRdlHNPo24ZW7vkQUCqdRxvnTWkK5U81y7RtjLt1yskbWXBIbOV\nz94GXsgyzANyCT9qRjHXDDz2mkLq+9I2iKtEqaEePcWRu3H6RLahpM/TxFzw684Y\nR47weXdDecPNxWyiWiyMGStRFP4Cg9trcwAGnEm1w8R2ggmWphznCd5dXGhPNjfA\na82yNFY8ubnOUVJOf0nXGg3Edw9iY3xyjJb2+nrsk5f3AgMBAAE=\n-----END PUBLIC KEY-----"
},
"scheme": "rsassa-pss-sha256"
},
"59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d": {
"keyid_hash_algorithms": [
"sha256",
"sha512"
],
"keytype": "ed25519",
"keyval": {
"public": "edcd0a32a07dce33f7c7873aaffbff36d20ea30787574ead335eefd337e4dacd"
},
"scheme": "ed25519"
},
"65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093": {
"keyid_hash_algorithms": [
"sha256",
"sha512"
],
"keytype": "ed25519",
"keyval": {
"public": "89f28bd4ede5ec3786ab923fd154f39588d20881903e69c7b08fb504c6750815"
},
"scheme": "ed25519"
},
"8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758": {
"keyid_hash_algorithms": [
"sha256",
"sha512"
],
"keytype": "ed25519",
"keyval": {
"public": "82ccf6ac47298ff43bfa0cd639868894e305a99c723ff0515ae2e9856eb5bbf4"
},
"scheme": "ed25519"
}
},
"roles": {
"root": {
"keyids": [
"4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb"
],
"threshold": 1
},
"snapshot": {
"keyids": [
"59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d"
],
"threshold": 1
},
"targets": {
"keyids": [
"65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093"
],
"threshold": 1
},
"timestamp": {
"keyids": [
"8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758"
],
"threshold": 1
}
},
"spec_version": "1.0",
"version": 1
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
"signatures": [
{
"keyid": "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a",
"sig": "749d6373835e9e89a269168d9af22bf7692ee7059a1db5ff1162e07b495ba47ae223e9ece6c27b2981d5d8bc046788d3fad9c2ba83d4be9b6547ed1f909c6204"
}
],
"signed": {
"_type": "targets",
"delegations": {
"keys": {
"c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a": {
"keyid_hash_algorithms": [
"sha256",
"sha512"
],
"keytype": "ed25519",
"keyval": {
"public": "fcf224e55fa226056adf113ef1eb3d55e308b75b321c8c8316999d8c4fd9e0d9"
},
"scheme": "ed25519"
}
},
"roles": [
{
"keyids": [
"c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a"
],
"name": "role2",
"paths": [],
"terminating": false,
"threshold": 1
}
]
},
"expires": "2030-01-01T00:00:00Z",
"spec_version": "1.0",
"targets": {
"/file3.txt": {
"hashes": {
"sha256": "141f740f53781d1ca54b8a50af22cbf74e44c21a998fa2a8a05aaac2c002886b",
"sha512": "ef5beafa16041bcdd2937140afebd485296cd54f7348ecd5a4d035c09759608de467a7ac0eb58753d0242df873c305e8bffad2454aa48f44480f15efae1cacd0"
},
"length": 28
}
},
"version": 1
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"signatures": [
{
"keyid": "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a",
"sig": "34ae1e3c897062419722c1747970a632e12060f3aef57314e6e6aa96c3a510a25ec5a8b12022058c768724607dd58106293089c87a7ee4b2ce5b3a8d44deeb06"
}
],
"signed": {
"_type": "targets",
"delegations": {
"keys": {},
"roles": []
},
"expires": "2030-01-01T00:00:00Z",
"spec_version": "1.0",
"targets": {},
"version": 1
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
{
"signatures": [
{
"keyid": "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb",
"sig": "344e2399b982470a06bbaeb7cd52eb58dfa7fba65d179a737b3655ce79fe722480f9515163010b714debd46a3f9bd60cd04c3c3093c050a9bb6b6fdd3dd1e902b3871198bf13c7c4ace9813527ac0b6f2d7652c64d7993ef88328bc82bea69ffec13dfd545e3ff0d327613b4eea6ad2c50baffd4d7233104427d0c6066fbec5f0091a8004c7f40c0ee59abf4955ab8682d8401f09adb42b0e8897c96ac7eb37843287c60b631ee67187d01e5b3936d84a36881c8e9726dc30bc62442f3849d94c96c62eb0aa66c9d3869e403940f8f7df527b2d3aa109cbf37d1349a8043395c6d2ad3550a64db0eaa39d45d6e30ea7fd06457bf0f033afba6796fbb7160e094e67da21c2f8da2220d10cef5df691f1f919ff14fb00e2b4057d5c099ce8b2d5d2a9e233dc7eb1dc77b24f4f22b219e67e45b3592a1ac873e96456078d82a12c085186f6b50131f2bad32f6bdf3359b141fb898819c98866f55eff686ad5cda01d2661dff6c39b66e5d83dfb65bb276ea4164b1f86c3371dbe635b31c118067ee"
}
],
"signed": {
"_type": "root",
"consistent_snapshot": false,
"expires": "2030-01-01T00:00:00Z",
"keys": {
"4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb": {
"keyid_hash_algorithms": [
"sha256",
"sha512"
],
"keytype": "rsa",
"keyval": {
"public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0GjPoVrjS9eCqzoQ8VRe\nPkC0cI6ktiEgqPfHESFzyxyjC490Cuy19nuxPcJuZfN64MC48oOkR+W2mq4pM51i\nxmdG5xjvNOBRkJ5wUCc8fDCltMUTBlqt9y5eLsf/4/EoBU+zC4SW1iPU++mCsity\nfQQ7U6LOn3EYCyrkH51hZ/dvKC4o9TPYMVxNecJ3CL1q02Q145JlyjBTuM3Xdqsa\nndTHoXSRPmmzgB/1dL/c4QjMnCowrKW06mFLq9RAYGIaJWfM/0CbrOJpVDkATmEc\nMdpGJYDfW/sRQvRdlHNPo24ZW7vkQUCqdRxvnTWkK5U81y7RtjLt1yskbWXBIbOV\nz94GXsgyzANyCT9qRjHXDDz2mkLq+9I2iKtEqaEePcWRu3H6RLahpM/TxFzw684Y\nR47weXdDecPNxWyiWiyMGStRFP4Cg9trcwAGnEm1w8R2ggmWphznCd5dXGhPNjfA\na82yNFY8ubnOUVJOf0nXGg3Edw9iY3xyjJb2+nrsk5f3AgMBAAE=\n-----END PUBLIC KEY-----"
},
"scheme": "rsassa-pss-sha256"
},
"59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d": {
"keyid_hash_algorithms": [
"sha256",
"sha512"
],
"keytype": "ed25519",
"keyval": {
"public": "edcd0a32a07dce33f7c7873aaffbff36d20ea30787574ead335eefd337e4dacd"
},
"scheme": "ed25519"
},
"65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093": {
"keyid_hash_algorithms": [
"sha256",
"sha512"
],
"keytype": "ed25519",
"keyval": {
"public": "89f28bd4ede5ec3786ab923fd154f39588d20881903e69c7b08fb504c6750815"
},
"scheme": "ed25519"
},
"8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758": {
"keyid_hash_algorithms": [
"sha256",
"sha512"
],
"keytype": "ed25519",
"keyval": {
"public": "82ccf6ac47298ff43bfa0cd639868894e305a99c723ff0515ae2e9856eb5bbf4"
},
"scheme": "ed25519"
}
},
"roles": {
"root": {
"keyids": [
"4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb"
],
"threshold": 1
},
"snapshot": {
"keyids": [
"59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d"
],
"threshold": 1
},
"targets": {
"keyids": [
"65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093"
],
"threshold": 1
},
"timestamp": {
"keyids": [
"8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758"
],
"threshold": 1
}
},
"spec_version": "1.0",
"version": 1
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"signatures": [
{
"keyid": "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d",
"sig": "d78e9013bab1da2a8425caa48143cd79a21632dce021ad7e1b883d83775035df333a8b26c9c952d832edaf9dc7be2ef612bdb21326fcc9849346d7e3a162050e"
}
],
"signed": {
"_type": "snapshot",
"expires": "2030-01-01T00:00:00Z",
"meta": {
"role1.json": {
"version": 1
},
"role2.json": {
"version": 1
},
"root.json": {
"version": 1
},
"targets.json": {
"version": 1
}
},
"spec_version": "1.0",
"version": 1
}
}
Loading