mirror of
https://github.com/theupdateframework/python-tuf
synced 2026-05-24 10:08:28 +00:00
Import chain-of-trust function from @vladdd.
This commit is contained in:
parent
1b21791961
commit
fd39de6665
38 changed files with 39 additions and 1081 deletions
|
|
@ -131,7 +131,7 @@ def update_client(repository_mirror):
|
|||
|
||||
# Remove any files from the destination directory that are no longer being
|
||||
# tracked.
|
||||
#updater.remove_obsolete_targets(destination_directory)
|
||||
updater.remove_obsolete_targets(destination_directory)
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,33 +1,36 @@
|
|||
"""
|
||||
<Program Name>
|
||||
simple_pip_integration.py
|
||||
example_client.py
|
||||
|
||||
<Author>
|
||||
Vladimir Diaz <vladimir.v.diaz@gmail.com>
|
||||
|
||||
<Started>
|
||||
August 1, 2013
|
||||
September 2012
|
||||
|
||||
<Copyright>
|
||||
See LICENSE for licensing information.
|
||||
|
||||
<Purpose>
|
||||
Example client script demonstrating custom python code one can write for a
|
||||
PyPI+pip+TUF integration.
|
||||
Example script demonstrating custom python code a software updater
|
||||
utilizing The Update Framework may write to securely update files.
|
||||
The 'basic_client.py' script can be used on the command-line to perform
|
||||
an update that will download and update all available targets; writing
|
||||
custom code is not required in this case.
|
||||
|
||||
The custom example below demonstrates updating all the targets of a
|
||||
specified role (i.e., 'targets/
|
||||
The custom examples below demonstrate:
|
||||
(1) updating all targets
|
||||
(2) updating all the targets of a specified role
|
||||
(3) updating a specific target explicitely named.
|
||||
|
||||
"""
|
||||
|
||||
import logging
|
||||
|
||||
import tuf
|
||||
import tuf.log
|
||||
import tuf.client.updater
|
||||
|
||||
logger = logging.getLogger('tuf.cient.basic_client')
|
||||
|
||||
# Uncomment the line below to enable printing of debugging information.
|
||||
#tuf.log.set_log_level(logging.DEBUG)
|
||||
|
||||
# Set the local repository directory containing the metadata files.
|
||||
tuf.conf.repository_directory = '.'
|
||||
|
|
@ -51,9 +54,6 @@
|
|||
# all the targets tracked, and determine which of these targets have been
|
||||
# updated.
|
||||
updater.refresh()
|
||||
|
||||
#
|
||||
updater.refresh_targets_metadata_chain(
|
||||
all_targets = updater.all_targets()
|
||||
updated_targets = updater.updated_targets(all_targets, destination_directory)
|
||||
|
||||
|
|
@ -67,3 +67,28 @@
|
|||
# Remove any files from the destination directory that are no longer being
|
||||
# tracked.
|
||||
updater.remove_obsolete_targets(destination_directory)
|
||||
|
||||
|
||||
"""
|
||||
# Example demonstrating an update that only downloads the targets of
|
||||
# a specific role (i.e., 'targets/role1')
|
||||
|
||||
updater.refresh()
|
||||
targets_of_role1 = updater.targets_of_role('targets/role1')
|
||||
updated_targets = updater.updated_targets(targets_of_role1, destination_directory)
|
||||
|
||||
for target in updated_targets:
|
||||
updater.download_target(target, destination_directory)
|
||||
"""
|
||||
|
||||
|
||||
"""
|
||||
# Example demonstrating an update that downloads a specific target.
|
||||
|
||||
updater.refresh()
|
||||
target = updater.target('LICENSE.txt')
|
||||
updated_target = updater.updated_targets([target], destination_directory)
|
||||
|
||||
for target in updated_target:
|
||||
updater.download_target(target, destination_directory)
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -1,84 +0,0 @@
|
|||
"""
|
||||
<Program Name>
|
||||
example_integration.py
|
||||
|
||||
<Author>
|
||||
Vladimir Diaz <vladimir.v.diaz@gmail.com>
|
||||
|
||||
<Started>
|
||||
August 1, 2013
|
||||
|
||||
<Copyright>
|
||||
See LICENSE for licensing information.
|
||||
|
||||
<Purpose>
|
||||
Example client script outlining custom python code one can write for a
|
||||
PyPI+pip+TUF integration. It aims to demonstrate efficient retrieval
|
||||
of a target file and a metadata chain of trust, in a secure manner.
|
||||
|
||||
The custom example below demonstrates updating all the targets of a
|
||||
specified role (i.e., 'targets/packages/A/Alice.txt').
|
||||
|
||||
"""
|
||||
|
||||
import logging
|
||||
|
||||
import tuf.client.updater
|
||||
|
||||
# Uncomment the line below to enable printing of debugging information.
|
||||
tuf.log.set_log_level(logging.DEBUG)
|
||||
|
||||
# Set the local repository directory containing the metadata files.
|
||||
tuf.conf.repository_directory = '.'
|
||||
|
||||
# Set the repository mirrors. This dictionary is needed by the Updater
|
||||
# class of updater.py. The client will download metadata and target
|
||||
# files from any one of these mirrors.
|
||||
repository_mirrors = {'mirror1': {'url_prefix': 'http://localhost:8001',
|
||||
'metadata_path': 'metadata',
|
||||
'targets_path': 'targets',
|
||||
'confined_target_dirs': ['']}}
|
||||
|
||||
# Create the Upater object using the updater name 'tuf-example'
|
||||
# and the repository mirrors defined above.
|
||||
updater = tuf.client.updater.Updater('tuf-example', repository_mirrors)
|
||||
|
||||
# Set the local destination directory to save the target files.
|
||||
destination_directory = './targets'
|
||||
|
||||
# Refresh the repository's top-level roles, store the target information for
|
||||
# all the targets of the 'Alice' project, and determine which of these targets
|
||||
# have been updated. First, refresh top-level roles...
|
||||
updater.refresh()
|
||||
|
||||
# The 'release.txt' file may be inspected to retreive our desired role, or
|
||||
# a dictionary that links project names to project roles.
|
||||
# For example: {'Alice': 'targets/packages/A/Alice'}
|
||||
alice_role = 'targets/packages/A/Alice'
|
||||
|
||||
# Before we can download the metadata for 'alice_role', the chain of trust
|
||||
# must be built. At the moment, the client has only downloaded/updated
|
||||
# the metadata for the top-level roles.
|
||||
# Download: 'targets/packages.txt', 'targets/packages/A.txt',
|
||||
# 'targets/packages/A/Alice.txt'. In other words, we only fetch the minimum
|
||||
# required to get a list of targets that the 'Alice' project
|
||||
# has signed. Calling updater.all_targets() or updater.target() causes an
|
||||
# update of all the metadata on the repository, which might be inefficient
|
||||
# for a repository like PyPI.
|
||||
updater.refresh_targets_metadata_chain(alice_role)
|
||||
targets_of_alice = updater.targets_of_role(alice_role)
|
||||
updated_targets = updater.updated_targets(targets_of_alice, destination_directory)
|
||||
|
||||
# The pip software updater might request multiple targets in one update
|
||||
# cycle (i.e.,
|
||||
# $ pip install Alice
|
||||
# fetches 'simple/Alice/index.html', 'alice-v0.1.tar.gz', ...)
|
||||
# As a simple example here, download a single target file arbitrarily
|
||||
# chosen, and save it locally.
|
||||
for updated_target in updated_targets:
|
||||
if updated_target['filepath'] == 'packages/A/Alice/alice-v0.1.tar.gz':
|
||||
updater.download_target(updated_target, destination_directory)
|
||||
|
||||
# Remove any files from the destination directory that are no longer being
|
||||
# tracked.
|
||||
updater.remove_obsolete_targets(destination_directory)
|
||||
|
|
@ -1,90 +0,0 @@
|
|||
"""
|
||||
<Program Name>
|
||||
example_integration.py
|
||||
|
||||
<Author>
|
||||
Vladimir Diaz <vladimir.v.diaz@gmail.com>
|
||||
|
||||
<Started>
|
||||
August 1, 2013
|
||||
|
||||
<Copyright>
|
||||
See LICENSE for licensing information.
|
||||
|
||||
<Purpose>
|
||||
Example client script outlining custom python code one can write for a
|
||||
PyPI+pip+TUF integration. It aims to demonstrate efficient retrieval
|
||||
of a target file and a metadata chain of trust, in a secure manner.
|
||||
|
||||
The custom example below demonstrates updating all the targets of a
|
||||
specified role (i.e., 'targets/packages/A/Alice.txt').
|
||||
|
||||
"""
|
||||
|
||||
import logging
|
||||
|
||||
import tuf.client.updater
|
||||
|
||||
# Uncomment the line below to enable printing of debugging information.
|
||||
tuf.log.set_log_level(logging.DEBUG)
|
||||
|
||||
# Set the local repository directory containing the metadata files.
|
||||
tuf.conf.repository_directory = '.'
|
||||
|
||||
# Set the repository mirrors. This dictionary is needed by the Updater
|
||||
# class of updater.py. The client will download metadata and target
|
||||
# files from any one of these mirrors.
|
||||
repository_mirrors = {'mirror1': {'url_prefix': 'http://localhost:8001',
|
||||
'metadata_path': 'metadata',
|
||||
'targets_path': 'targets',
|
||||
'confined_target_dirs': ['']}}
|
||||
|
||||
# Create the Upater object using the updater name 'tuf-example'
|
||||
# and the repository mirrors defined above.
|
||||
updater = tuf.client.updater.Updater('tuf-example', repository_mirrors)
|
||||
|
||||
# Set the local destination directory to save the target files.
|
||||
destination_directory = './targets'
|
||||
|
||||
# The single target file that the client wishes to update/install.
|
||||
alice_package = 'packages/A/Alice/alice-v2.0.tar.gz'
|
||||
message = 'Example that updates '+repr(alice_package)+' and downloads the '+\
|
||||
'mimimum metadata to set the required chain of trust.\n'
|
||||
print message
|
||||
|
||||
# Refresh the repository's top-level roles, store the target information for
|
||||
# all the targets of the 'Alice' project, and determine which of these targets
|
||||
# have been updated. First, refresh top-level roles...
|
||||
updater.refresh()
|
||||
|
||||
# The 'release.txt' file may be inspected to retreive our desired role, or
|
||||
# a dictionary that links project names to project roles.
|
||||
# For example: {'Alice': 'targets/packages/A/Alice'}
|
||||
alice_role = 'targets/packages/A/Alice'
|
||||
|
||||
# Before we can download the metadata for 'alice_role', the chain of trust
|
||||
# must be built. At the moment, the client has only downloaded/updated
|
||||
# the metadata for the top-level roles.
|
||||
# Download: 'targets/packages.txt', 'targets/packages/A.txt',
|
||||
# 'targets/packages/A/Alice.txt'. In other words, we only fetch the minimum
|
||||
# required to get a list of targets that the 'Alice' project
|
||||
# has signed. Calling updater.all_targets() or updater.target() causes an
|
||||
# update of all the metadata on the repository, which might be inefficient
|
||||
# for a repository like PyPI.
|
||||
updater.refresh_targets_metadata_chain(alice_role)
|
||||
targets_of_alice = updater.targets_of_role(alice_role)
|
||||
updated_targets = updater.updated_targets(targets_of_alice, destination_directory)
|
||||
|
||||
# The pip software updater might request multiple targets in one update
|
||||
# cycle (i.e.,
|
||||
# $ pip install Alice
|
||||
# fetches 'simple/Alice/index.html', 'alice-v0.1.tar.gz', ...)
|
||||
# As a simple example here, download a single target file arbitrarily
|
||||
# chosen, and save it locally.
|
||||
for updated_target in updated_targets:
|
||||
if updated_target['filepath'] == alice_package:
|
||||
updater.download_target(updated_target, destination_directory)
|
||||
|
||||
# Remove any files from the destination directory that are no longer being
|
||||
# tracked.
|
||||
updater.remove_obsolete_targets(destination_directory)
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
{
|
||||
"signatures": [
|
||||
{
|
||||
"keyid": "9a0933bdae0a2c387f086ecd2d79d8e59d7bce66aa21bf1de9b5069c30369dc9",
|
||||
"method": "evp",
|
||||
"sig": "adb041550a26327056b17409c59c2294930bcee1dc88008a9b458d828da673e2da4ae3c40257dfa51a25cd2cd23189fd1753546fd441879f275e515b433919e0403478bc2a7b7d9e455283f742fe5d059097be55eb2d705123194f31b13cb7d2a96421e5b7fb09df2f0a5d4245676b71c4630fd20ee29f962b3d327eb3362cd5e2f104b3a036d9c305817df955e19c49f3878cf3e65915c8a542adfd057f62522c1eca75cba513c81adb14994152934ecb4de1fb707d1aca4cc0f2b5ecb09e6645cb6f27f0769c8aeeff7f5728a910af9d310737c17e6b1cd611b07d70ee80de1457b13f54102ec5c58fdcf75470fe4db41c18f93f18a92f9929b8a9693e6e96b6231fc63705f47e05e079259e1eff17234060870685868da555d0bb05546f26d77ff7f091c3bd1a3e77633f2f5505597f8126a2130cacaee9a119c2915b48a0b08ff2152495462119b6a4ca05d302629bb7f7da60346a8cdd12f2820a00af6d1f3debffaf5052c2d31afa9c3fce3f82dbd139fcd0cd5062bede2c77c5e19407"
|
||||
}
|
||||
],
|
||||
"signed": {
|
||||
"_type": "Release",
|
||||
"expires": "2014-08-01 16:19:08 UTC",
|
||||
"meta": {
|
||||
"root.txt": {
|
||||
"hashes": {
|
||||
"sha256": "2e496d43eb877fc725dd3bd616da0c1e018057982d3c8acf8906a4104680feb1"
|
||||
},
|
||||
"length": 4793
|
||||
},
|
||||
"targets.txt": {
|
||||
"hashes": {
|
||||
"sha256": "c5cbeeaaa617fa9ecf282ed4ed3051ecba2d8f9535f148e14103c6d6ed6bfd39"
|
||||
},
|
||||
"length": 2260
|
||||
},
|
||||
"targets/packages.txt": {
|
||||
"hashes": {
|
||||
"sha256": "324aff11e6488e3619f8a291dc94f82faf60ab00ce67443ba32997bd0d1ad0cb"
|
||||
},
|
||||
"length": 2325
|
||||
},
|
||||
"targets/packages/A.txt": {
|
||||
"hashes": {
|
||||
"sha256": "0af576b49df40cc310ba314a82dc264202ec74d4238eb526d85230aacf9d2282"
|
||||
},
|
||||
"length": 2123
|
||||
},
|
||||
"targets/packages/A/Alice.txt": {
|
||||
"hashes": {
|
||||
"sha256": "49d0adb568d9323161f987087894df88cc0eb45ad2e4b7972b017915899226af"
|
||||
},
|
||||
"length": 1377
|
||||
},
|
||||
"targets/packages/B.txt": {
|
||||
"hashes": {
|
||||
"sha256": "e3618668fe88e9fa99cb305e24d8c78ed3083270bb3de8bbc42dbf4234f2e894"
|
||||
},
|
||||
"length": 2119
|
||||
},
|
||||
"targets/packages/B/Bob.txt": {
|
||||
"hashes": {
|
||||
"sha256": "3fb4ac73a78e66408b6192e28aa3b02e8180793a64fd99e49842b4a4ad45b7e9"
|
||||
},
|
||||
"length": 1369
|
||||
}
|
||||
},
|
||||
"version": 2
|
||||
}
|
||||
}
|
||||
|
|
@ -1,70 +0,0 @@
|
|||
{
|
||||
"signatures": [
|
||||
{
|
||||
"keyid": "c05b95f47865866ebe22fcb76595b05fcc77a2bf145ca3d7302ce7868cbaed7b",
|
||||
"method": "evp",
|
||||
"sig": "83448b51098091a562d9074dc14e02af5a6f18fcc18ff0dd0d709d0d1a597fbe9c96d2a077acffdc85be0357f76c46b1d2cbb579ad376458a88b2e00330b4028361c337593c96b7c2eec10dc337c7652d9e83d7c2dca7e59230199d2e6e5d3f0f1a38f09d305b47954f552ecb45df5c247ffa60b3b15198bc17a17d9198e688289ec70e3043cad1c1ac9405ad81d1af5135cf961f1a45d60f08d00c4e1713722711bee4864655a495f6e105020702ffea947fe3288358dffa46fa8d9c4c47fb7b3fd8a47b2371a0ffa78bce885b2ddb36b75ca6f6fea807e236593b882a7b1fc6c0fe43eb4b6709b060e08fb3e6f5a56fea6a5524130d01b461f1d6c2e3b1c2ef8784190245568062ec888af1fee0740b81ca0c99b775396b421f507581257277ba1e8609528ffef0ef5c9c205b63874e2c37b5dabb738cf5597e0c39010b8041a87b00030f69217e41e03376d1899c25d0d66d9e936b9308709eecc9862273a91e42301f6254f501bc10806a8aced547667678c39790598579dcb79b064b074"
|
||||
}
|
||||
],
|
||||
"signed": {
|
||||
"_type": "Root",
|
||||
"expires": "2014-07-31 15:21:53 UTC",
|
||||
"keys": {
|
||||
"76caaafb5aabc062ea4b4efaf17a998acff6667678f60a72de9491f6df404a22": {
|
||||
"keytype": "rsa",
|
||||
"keyval": {
|
||||
"private": "",
|
||||
"public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAxyi2M6UtfeITuiu4kbWZ\nOU5CRScab9Z8eWy9Weff/IiSYD47uRhnseT84ls50yCDzaUMlrCSG4Kd+AdAfcVl\nmsFCnRC5HHacFF9EEPSDud9L+4LTgqM1fP4vWfv8ZZ1sXI/5Npeo/D3bcC9NmcfR\nBMCzaQl1NEoYK+QVMcqVVImoWeLEtmU52u96Y4FZv06FodhpHPVvKUmJFnXe/ikM\nLe5sTCP0QKLtv+q1bfZ84KBkE50QfDpTF1bqiDeuCtb/3yNb91gkpPspuWjn9icK\nFCc/D5FpYSkVnWCoPzYsuVcQzIPFV2Zr8L1gvSvPOPY7SJulk+jri2T1kZw/rbDe\nA9T/I1yG36/8IXv9JYA8yiMR4cblFqi00gj1Q3NrelBdYc27t8GDNP2D2H4wMw3P\nnTmmfJQ5WpR5ZbjVHy/OU5YCpeJ77sdBITaSVn5IWLYumko+vJohOoordMBfV/jZ\nTVVeaz0OCp9sPs46xKVN+m109/NNejS90gLIKPKDSfPrAgMBAAE=\n-----END PUBLIC KEY-----\n"
|
||||
}
|
||||
},
|
||||
"845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b": {
|
||||
"keytype": "rsa",
|
||||
"keyval": {
|
||||
"private": "",
|
||||
"public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0HjJD27+MwJ6xCPS4TrT\ntehsJQZDz2W10/ZixTWI0x9k6fXwvd18wqGLwz+vS13ow6SrUHBYXwBO/5Pblpgu\nN2mE/CWPzQ59vaVvcT3yb8gKqrtqcaT4tYSumzJzBNocDTik2Tyx2g0VincnDPAa\nVnsrkk9zmh+f1WMffaT4w2cu82NRTCoVVB43bk1UyjHQD0+moDb9UL2lQk2pBdMZ\n+PaChhMtgzf1mlmOicnb/OZgJK5uJfq6umv5oO4Io0tzEF/6xnj+6CsQWwMhiQpK\nZHNsGO+f/WE/SFOXd9C+Ljnu9JsqWIPAYJG9x8PCNY4sZhv+cBYDwqTav/NmcwtZ\nfaw0RTuKQBwD8C2syS2LdU14H5koWY8H6+TQVQp0JnddzTsO2PRrbB/whQpYwN3L\nY9Q+H5/AurrlIjv/HehoPRHceeBrlRNiqF0OKraYQicI/pPcfH/UcHvp/GsGxTMd\nwEIEszVoDK579WtJtDvK1CZPISeJ7RDxspG2Shz6ID8vAgMBAAE=\n-----END PUBLIC KEY-----\n"
|
||||
}
|
||||
},
|
||||
"9a0933bdae0a2c387f086ecd2d79d8e59d7bce66aa21bf1de9b5069c30369dc9": {
|
||||
"keytype": "rsa",
|
||||
"keyval": {
|
||||
"private": "",
|
||||
"public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAuvReIoGpKvK0rwmkgccg\nmv8sTtEBolT02THaxO+6+gSPO/509msi/M3UNHsGNda1gccdwRMTsR/C9lCKC9Mp\nZ+JcOUl70SkL1lf4QlttWEDyDgDg1M7RPfcMZnq+eo/BPqGOxmbeNxKS2tqNfpQQ\nOqvSb7MMeII/mitunWo+UbJE/No9dimueFAjgHwQfH3rJCMnjfL5OT15UipHICCV\n/x6Rypc47kyOIfAvGMBnPT+sSapu+tboGPQf4kYwDpQVBPrJuGLYbgFvLAP/JKoi\ndHwXKeOAYP6FSioKcXbOspVd7a6FCUHQtEX8g158WOb28Ggo3eeXJx4Yb6ZW4WhD\no1jHNyELE2n1h42FETUNiESF3WDbfGZX8XINy+PXmVWGsY0YTdFOcSmw5k4fZ2Dp\nD57R7GQanMBBkpB/J5dVYvdP/NLTHeueBRFDJAFM+HRozbTpi+pFTcKV0dITLh43\nQrvSE7ZK2ktW1Zo5aJuhVClxga3teM6N4Hm3wEv1mfqBAgMBAAE=\n-----END PUBLIC KEY-----\n"
|
||||
}
|
||||
},
|
||||
"c05b95f47865866ebe22fcb76595b05fcc77a2bf145ca3d7302ce7868cbaed7b": {
|
||||
"keytype": "rsa",
|
||||
"keyval": {
|
||||
"private": "",
|
||||
"public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0BLhIsIORHPXuTU1CPSj\n34jQVNs3jXfpEfDIoYQcLPrNoz5icGWlg3H7YFtGSGOIOzJbyMlQR3iyGu7IYSW7\nuyJRX8OJ6rkbLcAg3z4QXZf6Y8isQYQGBiPb/j/LKGpGs6GA0wDqVfcCUJGtz04k\n5P4oPmJZjiQO2uMyQKYkJDWXllAgkY/SkuOUHyk/knE8EHIoNCwqCAVVnKc/gg/O\nL2I6mwkyes6eXQDRdwRK0z1P72ebzAgKdshhU8Jx4S1W3BTdX4CZ0TqBKxiNkhTi\nIWkZHM5hijX7NbCUNTIL4MUSDGga/quqs3kSMCM3lOd37MLiTDXHcCZoF09w6cgy\njsZyZZR7PBgpQjQ4EjgKstrAForp7ph7dF/BAP4Fz3uf9JBhdJ3LaIT/0et0BA/J\n52TxMT84ngzS+yWobqdrOK9xVaNOZTS0j3ScWpBKRCDR1E+llUJlkjphdD6Og8K2\ntFVKwCTYm3qfwHd2ulllVzbOOntTnq/ppcQjtTO2yYSVAgMBAAE=\n-----END PUBLIC KEY-----\n"
|
||||
}
|
||||
}
|
||||
},
|
||||
"roles": {
|
||||
"release": {
|
||||
"keyids": [
|
||||
"9a0933bdae0a2c387f086ecd2d79d8e59d7bce66aa21bf1de9b5069c30369dc9"
|
||||
],
|
||||
"threshold": 1
|
||||
},
|
||||
"root": {
|
||||
"keyids": [
|
||||
"c05b95f47865866ebe22fcb76595b05fcc77a2bf145ca3d7302ce7868cbaed7b"
|
||||
],
|
||||
"threshold": 1
|
||||
},
|
||||
"targets": {
|
||||
"keyids": [
|
||||
"845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b"
|
||||
],
|
||||
"threshold": 1
|
||||
},
|
||||
"timestamp": {
|
||||
"keyids": [
|
||||
"76caaafb5aabc062ea4b4efaf17a998acff6667678f60a72de9491f6df404a22"
|
||||
],
|
||||
"threshold": 1
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
}
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
{
|
||||
"signatures": [
|
||||
{
|
||||
"keyid": "845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b",
|
||||
"method": "evp",
|
||||
"sig": "89a80bef74459020b690187315ff0b3ecae376c68a5305ca08d29151fc3f5047385da8c70d1965d9c47bda9dce4ab8a2c83a8c04792d097491555bc884a8a833e644c0d85b27338154b861c7f829221f3e0d3170b3414a7922ff37cbb5223a7dafd95e8eb5bc4b2bcdcbcb72533751ebe4a6adb441d4389d0f55ad9a68beac98442aac953c0a6e531f45f78891ad15c72e54dda57e673d60d9936278d60f89ababcbc811eda9ba770b1a5cb222ff4e15f18da323b01e49e03ffbdfea207047d2543baa458978fc14644716ce92b9d112e732538d14002d5db5aa7143ee6eddf463b6e96f9504f87b393e8c340bfb5f425c05af454bc67711daabd412e96a295563b9171d7623f08a87a449f8e594e66e68e49f302e639ad523ce1baebe458afe07136030b949c5ba8114f975bcf1462486cc115a50a27263270cb63c0bcbe9e4ebc8171d9453e279086309668ac2d538b665c64888b43806a5bb97207fd91a02f4634c723da81dff84225eec4439c0acdb893410e34fd62343108d7b7055b59e"
|
||||
}
|
||||
],
|
||||
"signed": {
|
||||
"_type": "Targets",
|
||||
"delegations": {
|
||||
"keys": {
|
||||
"845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b": {
|
||||
"keytype": "rsa",
|
||||
"keyval": {
|
||||
"private": "",
|
||||
"public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0HjJD27+MwJ6xCPS4TrT\ntehsJQZDz2W10/ZixTWI0x9k6fXwvd18wqGLwz+vS13ow6SrUHBYXwBO/5Pblpgu\nN2mE/CWPzQ59vaVvcT3yb8gKqrtqcaT4tYSumzJzBNocDTik2Tyx2g0VincnDPAa\nVnsrkk9zmh+f1WMffaT4w2cu82NRTCoVVB43bk1UyjHQD0+moDb9UL2lQk2pBdMZ\n+PaChhMtgzf1mlmOicnb/OZgJK5uJfq6umv5oO4Io0tzEF/6xnj+6CsQWwMhiQpK\nZHNsGO+f/WE/SFOXd9C+Ljnu9JsqWIPAYJG9x8PCNY4sZhv+cBYDwqTav/NmcwtZ\nfaw0RTuKQBwD8C2syS2LdU14H5koWY8H6+TQVQp0JnddzTsO2PRrbB/whQpYwN3L\nY9Q+H5/AurrlIjv/HehoPRHceeBrlRNiqF0OKraYQicI/pPcfH/UcHvp/GsGxTMd\nwEIEszVoDK579WtJtDvK1CZPISeJ7RDxspG2Shz6ID8vAgMBAAE=\n-----END PUBLIC KEY-----\n"
|
||||
}
|
||||
}
|
||||
},
|
||||
"roles": [
|
||||
{
|
||||
"keyids": [
|
||||
"845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b"
|
||||
],
|
||||
"name": "targets/packages",
|
||||
"paths": [
|
||||
"packages/"
|
||||
],
|
||||
"threshold": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"expires": "2013-10-31 22:49:03 UTC",
|
||||
"targets": {
|
||||
"helloworld.py": {
|
||||
"hashes": {
|
||||
"sha256": "14d9f7904b16af5b3cd64285eb349bdce11dd3688d6e330ab7da87eb37512941"
|
||||
},
|
||||
"length": 18
|
||||
}
|
||||
},
|
||||
"version": 2
|
||||
}
|
||||
}
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
{
|
||||
"signatures": [
|
||||
{
|
||||
"keyid": "845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b",
|
||||
"method": "evp",
|
||||
"sig": "028e6e6c93e3973bdbc295a5e96fb9d67926dc5a67b3127a77d3dbdd55e1b87bf82183e64f3e0ce133d0cf75b64a0c80f432c91c95bcd583af073473e991c7bc2a12cce0290b17232d82f010268eeb1192a242a14aa992b9b6036fff5dcf3fe5a2fcc0d15d9ca6aee54ca2a053779889968eac11c160fed1056b2ad0092f69deac9d286657b64a92f0b9182bdfee32930117b83baf729bd494b259d60a3ebd54c0a154ba87d710f9f8ab5ef6cfd563dffe346ef6bcb6551c5323f5c68839089a3ea65926c0fa159c43272d1323fd521b403dbe88d7213955e3c121328eb816db3521e059fc37b2e88741f517747344ce9b5520693061848b627077db692ab44afc1cab484270aa826339b1181862b461433b79d066cfb289fdd5f91b4e193bbdf5053d33e93b615e40ade38d7c74d8d3da8ae2df4fbaf4792a867cf08ba182666f465d0a0723058eebbec94b1c9e9f46560e05a45d58fdf98e5b5362077d63f00b0c8cf5ca00f60ef3ef5b2559a1c129eca3422a228aac3fa6882b368bfc233c"
|
||||
}
|
||||
],
|
||||
"signed": {
|
||||
"_type": "Targets",
|
||||
"delegations": {
|
||||
"keys": {
|
||||
"845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b": {
|
||||
"keytype": "rsa",
|
||||
"keyval": {
|
||||
"private": "",
|
||||
"public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0HjJD27+MwJ6xCPS4TrT\ntehsJQZDz2W10/ZixTWI0x9k6fXwvd18wqGLwz+vS13ow6SrUHBYXwBO/5Pblpgu\nN2mE/CWPzQ59vaVvcT3yb8gKqrtqcaT4tYSumzJzBNocDTik2Tyx2g0VincnDPAa\nVnsrkk9zmh+f1WMffaT4w2cu82NRTCoVVB43bk1UyjHQD0+moDb9UL2lQk2pBdMZ\n+PaChhMtgzf1mlmOicnb/OZgJK5uJfq6umv5oO4Io0tzEF/6xnj+6CsQWwMhiQpK\nZHNsGO+f/WE/SFOXd9C+Ljnu9JsqWIPAYJG9x8PCNY4sZhv+cBYDwqTav/NmcwtZ\nfaw0RTuKQBwD8C2syS2LdU14H5koWY8H6+TQVQp0JnddzTsO2PRrbB/whQpYwN3L\nY9Q+H5/AurrlIjv/HehoPRHceeBrlRNiqF0OKraYQicI/pPcfH/UcHvp/GsGxTMd\nwEIEszVoDK579WtJtDvK1CZPISeJ7RDxspG2Shz6ID8vAgMBAAE=\n-----END PUBLIC KEY-----\n"
|
||||
}
|
||||
}
|
||||
},
|
||||
"roles": [
|
||||
{
|
||||
"keyids": [
|
||||
"845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b"
|
||||
],
|
||||
"name": "targets/packages/A",
|
||||
"paths": [
|
||||
"packages/A/"
|
||||
],
|
||||
"threshold": 1
|
||||
},
|
||||
{
|
||||
"keyids": [
|
||||
"845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b"
|
||||
],
|
||||
"name": "targets/packages/B",
|
||||
"paths": [
|
||||
"packages/B/"
|
||||
],
|
||||
"threshold": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"expires": "2014-08-01 15:37:45 UTC",
|
||||
"targets": {},
|
||||
"version": 3
|
||||
}
|
||||
}
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
{
|
||||
"signatures": [
|
||||
{
|
||||
"keyid": "845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b",
|
||||
"method": "evp",
|
||||
"sig": "69be32d77d781bb48f0518dafade5fb0a166d9ad82340a3a20f7630165d69d8ab0f8e753fd490c4c8727968539a4285db94bf73317a83672a177576ebb8091ec8ed34334893a683dad990ddd2ef7f0b1c034ed581b11ff12a30d78e31bb3c16918464a91128b3151eafab427b316134e17106ebaaee9ab78d39673beb4d08fd5aeac506e485e9e71903886ec1adb9a69dd1855b98aec2e7d48e361ec5b92ea728d4d8ba3bb16e84dd36cbef88bfbb8ecb39d9e1b20544a678062af312447b302803592da00f68846d68f6c05dbb5e7419dca5b07e8d43aa5a9b1a3a0e8386c815c665160062c7b4760761d05c683ddf18e398816120cc7860574ac98b9fd3ef74018210b454b765bb4dfe45163b348f44fc1c804ae69fc1a13d7e71a03d0af724838ab959da6828e990e604cb563a00724e6b4deb7e8ca13275bbfc89185d1cd71d3fb2c11692b5785801632bd1e54d60d73b5817dd654217cdc0850df5527f04ae8ba053e9a040a7bd0de740629640354895bf6399ca9672f432d507b4ced82"
|
||||
}
|
||||
],
|
||||
"signed": {
|
||||
"_type": "Targets",
|
||||
"delegations": {
|
||||
"keys": {
|
||||
"845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b": {
|
||||
"keytype": "rsa",
|
||||
"keyval": {
|
||||
"private": "",
|
||||
"public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0HjJD27+MwJ6xCPS4TrT\ntehsJQZDz2W10/ZixTWI0x9k6fXwvd18wqGLwz+vS13ow6SrUHBYXwBO/5Pblpgu\nN2mE/CWPzQ59vaVvcT3yb8gKqrtqcaT4tYSumzJzBNocDTik2Tyx2g0VincnDPAa\nVnsrkk9zmh+f1WMffaT4w2cu82NRTCoVVB43bk1UyjHQD0+moDb9UL2lQk2pBdMZ\n+PaChhMtgzf1mlmOicnb/OZgJK5uJfq6umv5oO4Io0tzEF/6xnj+6CsQWwMhiQpK\nZHNsGO+f/WE/SFOXd9C+Ljnu9JsqWIPAYJG9x8PCNY4sZhv+cBYDwqTav/NmcwtZ\nfaw0RTuKQBwD8C2syS2LdU14H5koWY8H6+TQVQp0JnddzTsO2PRrbB/whQpYwN3L\nY9Q+H5/AurrlIjv/HehoPRHceeBrlRNiqF0OKraYQicI/pPcfH/UcHvp/GsGxTMd\nwEIEszVoDK579WtJtDvK1CZPISeJ7RDxspG2Shz6ID8vAgMBAAE=\n-----END PUBLIC KEY-----\n"
|
||||
}
|
||||
}
|
||||
},
|
||||
"roles": [
|
||||
{
|
||||
"keyids": [
|
||||
"845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b"
|
||||
],
|
||||
"name": "targets/packages/A/Alice",
|
||||
"paths": [
|
||||
"packages/A/Alice/"
|
||||
],
|
||||
"threshold": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"expires": "2014-08-01 15:45:01 UTC",
|
||||
"targets": {},
|
||||
"version": 2
|
||||
}
|
||||
}
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
{
|
||||
"signatures": [
|
||||
{
|
||||
"keyid": "845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b",
|
||||
"method": "evp",
|
||||
"sig": "b55953980cc35017cf6deb2681380880f14b216d261c18e45bf4ebecbda0c6cc07e49607dac81639037008f8cc328ecd7f2c5858d454861b3bfd3f2209c24067164edf0af14c5f4564c9244f7c423825c7e162df618159e3c376f1c6ed4fb56e97b3d7fd3da59724c706e6f86b1ccfae1896ed6f792b76517cb87be92fc6336f892191c2dc3f55511c15cd787157af26489f2e8fc011507dcae5f4f7b314fd1c7a97c7fc8d91559d92e8615bfde318acea99bef2c4906c92c0d6e97ce3ae27c6e7ad5a232809f05fda1f6f5241fea5dfe2b86a00a57859c3b5322ad22cd7ebb5d71c3b8014de5a866068e9eb77ff9d0bdc3599b0de18f0f6f1a3546f03989e02346dc81b36601eda373814401381bf97709a7545ef448c9d3eaf1f80fedf5a959042d700ba7ebd060c4348cac3452258823039d06871d90c5fbf22e2572abda908a1f9160856db4bcd5b152a35ef81dd977f13aabec7d4fa05499a5969e03841e088dd29239795d4a2927616e210200ce3dfa82a4c250775c33c18035e5aa62a"
|
||||
}
|
||||
],
|
||||
"signed": {
|
||||
"_type": "Targets",
|
||||
"expires": "2014-08-01 15:46:53 UTC",
|
||||
"targets": {
|
||||
"packages/A/Alice/alice-v1.0.tar.gz": {
|
||||
"hashes": {
|
||||
"sha256": "21ecfb59295a055b39003e6b9a63b4aa7b3724458a7c663b00ee6cf69fc09e68"
|
||||
},
|
||||
"length": 15
|
||||
},
|
||||
"packages/A/Alice/alice-v2.0.tar.gz": {
|
||||
"hashes": {
|
||||
"sha256": "21ecfb59295a055b39003e6b9a63b4aa7b3724458a7c663b00ee6cf69fc09e68"
|
||||
},
|
||||
"length": 15
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
}
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
{
|
||||
"signatures": [
|
||||
{
|
||||
"keyid": "76caaafb5aabc062ea4b4efaf17a998acff6667678f60a72de9491f6df404a22",
|
||||
"method": "evp",
|
||||
"sig": "9d09a61312b76ab8ec6f16b1bd9800769c306898c92df7a05bdd3a7bfe30747b187dab13427853957c3b21c1dc93519c290564f7703f4b07529fc64ff0e75d91569471bc112ab07d6253475489a07971384bcab10150c69d10c91960b75f7aa04b2c230eecc299b0e174278146bf3ab070841a1ff7ff15c7ad056eb020c29785b3ff432e2029c7bb56cdc36933204ce52e7dd32d5a7b9349b3f00d0da65a3423dadb4d74cf9abb91c29533c6d09b81811b1d3aed04988af0795ffa62fa409ada0a92a72d1f04f89caead224aa734aeb664fdb62a04b6045e8d749e015a5c40df81e275472e681722ed7afcf2556295eeb2463fbb36b055cc8581c9d8457d66c67b400627ab42d4619e8d6f881c66dda74385de451a5cbb967821255f7b211a03e34dc836b42e73d1588ac2ed5395f3e1c0ff281c84a9298d895cbf1b748ad19705a3ee26151eb08bb51df0210acca69b6a358390b223201e588d9c750f60238c6144a264f07e0631305566c1d41a07432800e226caaba2481882ffdeb177c657"
|
||||
}
|
||||
],
|
||||
"signed": {
|
||||
"_type": "Timestamp",
|
||||
"expires": "2014-08-01 16:19:39 UTC",
|
||||
"meta": {
|
||||
"release.txt": {
|
||||
"hashes": {
|
||||
"sha256": "f22f2f12fad9069b2fb569d9e9273a95b015fe2d8f3937addfed3dc1e48d86de"
|
||||
},
|
||||
"length": 2152
|
||||
}
|
||||
},
|
||||
"version": 2
|
||||
}
|
||||
}
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
{
|
||||
"signatures": [
|
||||
{
|
||||
"keyid": "9a0933bdae0a2c387f086ecd2d79d8e59d7bce66aa21bf1de9b5069c30369dc9",
|
||||
"method": "evp",
|
||||
"sig": "30f6cd75b4aab91ef4be4e4c10a46feeed25993b29ebb33f5c792b93dbf9fd03900cee41740876636ee2e415944f318b9197c23eec60d1d722923c7391d5f24669738e86931753177d10d8a712b39d329fa1ed2d8840f58a6297e9d0a6ed3c264f01cafc8ad6ae05f6bb57d848dfdabd67e0f48effece56009d4e93e4ed328b0f431bc2301c839bde6d3aac334957c470e10664249e156faee0a1b34237c775b7e22ce2d240a32e25abe661aa1cba63d933c016fe88b37587cf516dd92dbd8cf836708c2e51aef42e632a333b6b579bde49429771e8b50df160d642c2d05785120b14f2614491426dfee98fb4a4ac87f47daaa05cb3d54b06f7a3de7d0c54643b3dfec72fa89f9c04b20542705a13e6a6c9ffe7b1ad80b8895465f7cd35e8b8a589ccc7a51fda6fa1d2e31942aa3a81b2659d5d799a6ec3e6c68b61df35c47d62a8ba3982886902d61b8d822c709e98102a9f01b65476620dd59bf6027bd11e9db874801268cdc709ebdee69b2f1f5bfd74d95c76f4d8e377ce5b3f17a59f94a"
|
||||
}
|
||||
],
|
||||
"signed": {
|
||||
"_type": "Release",
|
||||
"expires": "2013-08-08 15:21:53 UTC",
|
||||
"meta": {
|
||||
"root.txt": {
|
||||
"hashes": {
|
||||
"sha256": "2e496d43eb877fc725dd3bd616da0c1e018057982d3c8acf8906a4104680feb1"
|
||||
},
|
||||
"length": 4793
|
||||
},
|
||||
"targets.txt": {
|
||||
"hashes": {
|
||||
"sha256": "44214fdc4a2642e7e929257cbc7f1049120637ee16a8478e8028c110d1350696"
|
||||
},
|
||||
"length": 1183
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
}
|
||||
|
|
@ -1,70 +0,0 @@
|
|||
{
|
||||
"signatures": [
|
||||
{
|
||||
"keyid": "c05b95f47865866ebe22fcb76595b05fcc77a2bf145ca3d7302ce7868cbaed7b",
|
||||
"method": "evp",
|
||||
"sig": "83448b51098091a562d9074dc14e02af5a6f18fcc18ff0dd0d709d0d1a597fbe9c96d2a077acffdc85be0357f76c46b1d2cbb579ad376458a88b2e00330b4028361c337593c96b7c2eec10dc337c7652d9e83d7c2dca7e59230199d2e6e5d3f0f1a38f09d305b47954f552ecb45df5c247ffa60b3b15198bc17a17d9198e688289ec70e3043cad1c1ac9405ad81d1af5135cf961f1a45d60f08d00c4e1713722711bee4864655a495f6e105020702ffea947fe3288358dffa46fa8d9c4c47fb7b3fd8a47b2371a0ffa78bce885b2ddb36b75ca6f6fea807e236593b882a7b1fc6c0fe43eb4b6709b060e08fb3e6f5a56fea6a5524130d01b461f1d6c2e3b1c2ef8784190245568062ec888af1fee0740b81ca0c99b775396b421f507581257277ba1e8609528ffef0ef5c9c205b63874e2c37b5dabb738cf5597e0c39010b8041a87b00030f69217e41e03376d1899c25d0d66d9e936b9308709eecc9862273a91e42301f6254f501bc10806a8aced547667678c39790598579dcb79b064b074"
|
||||
}
|
||||
],
|
||||
"signed": {
|
||||
"_type": "Root",
|
||||
"expires": "2014-07-31 15:21:53 UTC",
|
||||
"keys": {
|
||||
"76caaafb5aabc062ea4b4efaf17a998acff6667678f60a72de9491f6df404a22": {
|
||||
"keytype": "rsa",
|
||||
"keyval": {
|
||||
"private": "",
|
||||
"public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAxyi2M6UtfeITuiu4kbWZ\nOU5CRScab9Z8eWy9Weff/IiSYD47uRhnseT84ls50yCDzaUMlrCSG4Kd+AdAfcVl\nmsFCnRC5HHacFF9EEPSDud9L+4LTgqM1fP4vWfv8ZZ1sXI/5Npeo/D3bcC9NmcfR\nBMCzaQl1NEoYK+QVMcqVVImoWeLEtmU52u96Y4FZv06FodhpHPVvKUmJFnXe/ikM\nLe5sTCP0QKLtv+q1bfZ84KBkE50QfDpTF1bqiDeuCtb/3yNb91gkpPspuWjn9icK\nFCc/D5FpYSkVnWCoPzYsuVcQzIPFV2Zr8L1gvSvPOPY7SJulk+jri2T1kZw/rbDe\nA9T/I1yG36/8IXv9JYA8yiMR4cblFqi00gj1Q3NrelBdYc27t8GDNP2D2H4wMw3P\nnTmmfJQ5WpR5ZbjVHy/OU5YCpeJ77sdBITaSVn5IWLYumko+vJohOoordMBfV/jZ\nTVVeaz0OCp9sPs46xKVN+m109/NNejS90gLIKPKDSfPrAgMBAAE=\n-----END PUBLIC KEY-----\n"
|
||||
}
|
||||
},
|
||||
"845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b": {
|
||||
"keytype": "rsa",
|
||||
"keyval": {
|
||||
"private": "",
|
||||
"public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0HjJD27+MwJ6xCPS4TrT\ntehsJQZDz2W10/ZixTWI0x9k6fXwvd18wqGLwz+vS13ow6SrUHBYXwBO/5Pblpgu\nN2mE/CWPzQ59vaVvcT3yb8gKqrtqcaT4tYSumzJzBNocDTik2Tyx2g0VincnDPAa\nVnsrkk9zmh+f1WMffaT4w2cu82NRTCoVVB43bk1UyjHQD0+moDb9UL2lQk2pBdMZ\n+PaChhMtgzf1mlmOicnb/OZgJK5uJfq6umv5oO4Io0tzEF/6xnj+6CsQWwMhiQpK\nZHNsGO+f/WE/SFOXd9C+Ljnu9JsqWIPAYJG9x8PCNY4sZhv+cBYDwqTav/NmcwtZ\nfaw0RTuKQBwD8C2syS2LdU14H5koWY8H6+TQVQp0JnddzTsO2PRrbB/whQpYwN3L\nY9Q+H5/AurrlIjv/HehoPRHceeBrlRNiqF0OKraYQicI/pPcfH/UcHvp/GsGxTMd\nwEIEszVoDK579WtJtDvK1CZPISeJ7RDxspG2Shz6ID8vAgMBAAE=\n-----END PUBLIC KEY-----\n"
|
||||
}
|
||||
},
|
||||
"9a0933bdae0a2c387f086ecd2d79d8e59d7bce66aa21bf1de9b5069c30369dc9": {
|
||||
"keytype": "rsa",
|
||||
"keyval": {
|
||||
"private": "",
|
||||
"public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAuvReIoGpKvK0rwmkgccg\nmv8sTtEBolT02THaxO+6+gSPO/509msi/M3UNHsGNda1gccdwRMTsR/C9lCKC9Mp\nZ+JcOUl70SkL1lf4QlttWEDyDgDg1M7RPfcMZnq+eo/BPqGOxmbeNxKS2tqNfpQQ\nOqvSb7MMeII/mitunWo+UbJE/No9dimueFAjgHwQfH3rJCMnjfL5OT15UipHICCV\n/x6Rypc47kyOIfAvGMBnPT+sSapu+tboGPQf4kYwDpQVBPrJuGLYbgFvLAP/JKoi\ndHwXKeOAYP6FSioKcXbOspVd7a6FCUHQtEX8g158WOb28Ggo3eeXJx4Yb6ZW4WhD\no1jHNyELE2n1h42FETUNiESF3WDbfGZX8XINy+PXmVWGsY0YTdFOcSmw5k4fZ2Dp\nD57R7GQanMBBkpB/J5dVYvdP/NLTHeueBRFDJAFM+HRozbTpi+pFTcKV0dITLh43\nQrvSE7ZK2ktW1Zo5aJuhVClxga3teM6N4Hm3wEv1mfqBAgMBAAE=\n-----END PUBLIC KEY-----\n"
|
||||
}
|
||||
},
|
||||
"c05b95f47865866ebe22fcb76595b05fcc77a2bf145ca3d7302ce7868cbaed7b": {
|
||||
"keytype": "rsa",
|
||||
"keyval": {
|
||||
"private": "",
|
||||
"public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0BLhIsIORHPXuTU1CPSj\n34jQVNs3jXfpEfDIoYQcLPrNoz5icGWlg3H7YFtGSGOIOzJbyMlQR3iyGu7IYSW7\nuyJRX8OJ6rkbLcAg3z4QXZf6Y8isQYQGBiPb/j/LKGpGs6GA0wDqVfcCUJGtz04k\n5P4oPmJZjiQO2uMyQKYkJDWXllAgkY/SkuOUHyk/knE8EHIoNCwqCAVVnKc/gg/O\nL2I6mwkyes6eXQDRdwRK0z1P72ebzAgKdshhU8Jx4S1W3BTdX4CZ0TqBKxiNkhTi\nIWkZHM5hijX7NbCUNTIL4MUSDGga/quqs3kSMCM3lOd37MLiTDXHcCZoF09w6cgy\njsZyZZR7PBgpQjQ4EjgKstrAForp7ph7dF/BAP4Fz3uf9JBhdJ3LaIT/0et0BA/J\n52TxMT84ngzS+yWobqdrOK9xVaNOZTS0j3ScWpBKRCDR1E+llUJlkjphdD6Og8K2\ntFVKwCTYm3qfwHd2ulllVzbOOntTnq/ppcQjtTO2yYSVAgMBAAE=\n-----END PUBLIC KEY-----\n"
|
||||
}
|
||||
}
|
||||
},
|
||||
"roles": {
|
||||
"release": {
|
||||
"keyids": [
|
||||
"9a0933bdae0a2c387f086ecd2d79d8e59d7bce66aa21bf1de9b5069c30369dc9"
|
||||
],
|
||||
"threshold": 1
|
||||
},
|
||||
"root": {
|
||||
"keyids": [
|
||||
"c05b95f47865866ebe22fcb76595b05fcc77a2bf145ca3d7302ce7868cbaed7b"
|
||||
],
|
||||
"threshold": 1
|
||||
},
|
||||
"targets": {
|
||||
"keyids": [
|
||||
"845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b"
|
||||
],
|
||||
"threshold": 1
|
||||
},
|
||||
"timestamp": {
|
||||
"keyids": [
|
||||
"76caaafb5aabc062ea4b4efaf17a998acff6667678f60a72de9491f6df404a22"
|
||||
],
|
||||
"threshold": 1
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
}
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
{
|
||||
"signatures": [
|
||||
{
|
||||
"keyid": "845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b",
|
||||
"method": "evp",
|
||||
"sig": "131fe09bff13d343f40e22fc735ff9593b73006177791be400fc4efdc0a87dce8767b49e144acb69097b5377afa87628693a70e19b43c1793043805b43fe112a273e72c095e3b0d2d9df16c07f8035879ce549759d353394c3a09cf0587844d2cf2ad6446c4e2bee14c242167d5706541aeead6fad657c81d6b8948d3a5a2537d7016efa5ab5ce595c898ee5f8b807519f01bd70f479763df0fd4d16427959e1ea1dc674dbaeae6c8917bcf42fd0162534610119751729f030f744bdf5734bd0561aae4dc33e1f1166d3aca17a5cb9efd31344ba99c172fffc0b0055f34c77ff3228a87bd3f94f5f31d069ab92ae3f4d22248e11e86d2f4607b7f6b4d0e59855ba2b76eb9ad6fff6ed895f38dd01a204983f9048db4ebfe5e0fa902880ce2a64ccb5d74f98d4a58d515b3873b3e15914be5ef2e7a81d5d95b180de6b8335c994d4e0e4d3ec329b9de37a5e2ffa4b22d4a93250c4d764a353de1dbf48bb5ed4c7ae727901276da7dfc34ab4502fd8898b8d5f713eb0c2057f06a75b35a08a13cb"
|
||||
}
|
||||
],
|
||||
"signed": {
|
||||
"_type": "Targets",
|
||||
"expires": "2013-10-31 22:49:03 UTC",
|
||||
"targets": {
|
||||
"helloworld.py": {
|
||||
"hashes": {
|
||||
"sha256": "14d9f7904b16af5b3cd64285eb349bdce11dd3688d6e330ab7da87eb37512941"
|
||||
},
|
||||
"length": 18
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
}
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
{
|
||||
"signatures": [
|
||||
{
|
||||
"keyid": "76caaafb5aabc062ea4b4efaf17a998acff6667678f60a72de9491f6df404a22",
|
||||
"method": "evp",
|
||||
"sig": "9d09a61312b76ab8ec6f16b1bd9800769c306898c92df7a05bdd3a7bfe30747b187dab13427853957c3b21c1dc93519c290564f7703f4b07529fc64ff0e75d91569471bc112ab07d6253475489a07971384bcab10150c69d10c91960b75f7aa04b2c230eecc299b0e174278146bf3ab070841a1ff7ff15c7ad056eb020c29785b3ff432e2029c7bb56cdc36933204ce52e7dd32d5a7b9349b3f00d0da65a3423dadb4d74cf9abb91c29533c6d09b81811b1d3aed04988af0795ffa62fa409ada0a92a72d1f04f89caead224aa734aeb664fdb62a04b6045e8d749e015a5c40df81e275472e681722ed7afcf2556295eeb2463fbb36b055cc8581c9d8457d66c67b400627ab42d4619e8d6f881c66dda74385de451a5cbb967821255f7b211a03e34dc836b42e73d1588ac2ed5395f3e1c0ff281c84a9298d895cbf1b748ad19705a3ee26151eb08bb51df0210acca69b6a358390b223201e588d9c750f60238c6144a264f07e0631305566c1d41a07432800e226caaba2481882ffdeb177c657"
|
||||
}
|
||||
],
|
||||
"signed": {
|
||||
"_type": "Timestamp",
|
||||
"expires": "2014-08-01 16:19:39 UTC",
|
||||
"meta": {
|
||||
"release.txt": {
|
||||
"hashes": {
|
||||
"sha256": "f22f2f12fad9069b2fb569d9e9273a95b015fe2d8f3937addfed3dc1e48d86de"
|
||||
},
|
||||
"length": 2152
|
||||
}
|
||||
},
|
||||
"version": 2
|
||||
}
|
||||
}
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
$ python -B example_integration.py
|
||||
Example that updates 'packages/A/Alice/alice-v2.0.tar.gz' and downloads the mimimum metadata to set the required chain of trust.
|
||||
|
||||
[2013-08-01 17:15:45,651 UTC] [tuf.download] [INFO][download_url_to_tempfileobj:362@download.py] Downloading: http://localhost:8001/metadata/timestamp.txt
|
||||
[2013-08-01 17:15:45,657 UTC] [tuf] [INFO][_update_metadata_if_changed:847@updater.py] Metadata 'release.txt' has changed.
|
||||
[2013-08-01 17:15:45,657 UTC] [tuf.download] [INFO][download_url_to_tempfileobj:362@download.py] Downloading: http://localhost:8001/metadata/release.txt
|
||||
[2013-08-01 17:15:45,659 UTC] [tuf.download] [INFO][_check_hashes:221@download.py] The file's sha256 hash is correct: f22f2f12fad9069b2fb569d9e9273a95b015fe2d8f3937addfed3dc1e48d86de
|
||||
[2013-08-01 17:15:45,662 UTC] [tuf] [INFO][_update_metadata_if_changed:847@updater.py] Metadata 'targets.txt' has changed.
|
||||
[2013-08-01 17:15:45,662 UTC] [tuf.download] [INFO][download_url_to_tempfileobj:362@download.py] Downloading: http://localhost:8001/metadata/targets.txt
|
||||
[2013-08-01 17:15:45,664 UTC] [tuf.download] [INFO][_check_hashes:221@download.py] The file's sha256 hash is correct: c5cbeeaaa617fa9ecf282ed4ed3051ecba2d8f9535f148e14103c6d6ed6bfd39
|
||||
[2013-08-01 17:15:45,671 UTC] [tuf] [INFO][refresh_targets_metadata_chain:1384@updater.py] Minimum metadata to download to set chain of trust: ['targets', 'targets/packages', 'targets/packages/A'].
|
||||
[2013-08-01 17:15:45,672 UTC] [tuf] [INFO][_update_metadata_if_changed:847@updater.py] Metadata 'targets/packages.txt' has changed.
|
||||
[2013-08-01 17:15:45,672 UTC] [tuf.download] [INFO][download_url_to_tempfileobj:362@download.py] Downloading: http://localhost:8001/metadata/targets/packages.txt
|
||||
[2013-08-01 17:15:45,674 UTC] [tuf.download] [INFO][_check_hashes:221@download.py] The file's sha256 hash is correct: 324aff11e6488e3619f8a291dc94f82faf60ab00ce67443ba32997bd0d1ad0cb
|
||||
[2013-08-01 17:15:45,678 UTC] [tuf] [INFO][_update_metadata_if_changed:847@updater.py] Metadata 'targets/packages/A.txt' has changed.
|
||||
[2013-08-01 17:15:45,678 UTC] [tuf.download] [INFO][download_url_to_tempfileobj:362@download.py] Downloading: http://localhost:8001/metadata/targets/packages/A.txt
|
||||
[2013-08-01 17:15:45,680 UTC] [tuf.download] [INFO][_check_hashes:221@download.py] The file's sha256 hash is correct: 0af576b49df40cc310ba314a82dc264202ec74d4238eb526d85230aacf9d2282
|
||||
[2013-08-01 17:15:45,684 UTC] [tuf] [INFO][_update_metadata_if_changed:847@updater.py] Metadata u'targets/packages/A/Alice.txt' has changed.
|
||||
[2013-08-01 17:15:45,684 UTC] [tuf.download] [INFO][download_url_to_tempfileobj:362@download.py] Downloading: http://localhost:8001/metadata/targets/packages/A/Alice.txt
|
||||
[2013-08-01 17:15:45,686 UTC] [tuf.download] [INFO][_check_hashes:221@download.py] The file's sha256 hash is correct: 49d0adb568d9323161f987087894df88cc0eb45ad2e4b7972b017915899226af
|
||||
[2013-08-01 17:15:45,689 UTC] [tuf.download] [INFO][download_url_to_tempfileobj:362@download.py] Downloading: http://localhost:8001/targets/packages/A/Alice/alice-v2.0.tar.gz
|
||||
[2013-08-01 17:15:45,696 UTC] [tuf.download] [INFO][_check_hashes:221@download.py] The file's sha256 hash is correct: 21ecfb59295a055b39003e6b9a63b4aa7b3724458a7c663b00ee6cf69fc09e68
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
$ python -m SimpleHTTPServer 8001
|
||||
Serving HTTP on 0.0.0.0 port 8001 ...
|
||||
localhost.localdomain - - [01/Aug/2013 13:15:45] "GET /metadata/timestamp.txt HTTP/1.1" 200 -
|
||||
localhost.localdomain - - [01/Aug/2013 13:15:45] "GET /metadata/release.txt HTTP/1.1" 200 -
|
||||
localhost.localdomain - - [01/Aug/2013 13:15:45] "GET /metadata/targets.txt HTTP/1.1" 200 -
|
||||
localhost.localdomain - - [01/Aug/2013 13:15:45] "GET /metadata/targets/packages.txt HTTP/1.1" 200 -
|
||||
localhost.localdomain - - [01/Aug/2013 13:15:45] "GET /metadata/targets/packages/A.txt HTTP/1.1" 200 -
|
||||
localhost.localdomain - - [01/Aug/2013 13:15:45] "GET /metadata/targets/packages/A/Alice.txt HTTP/1.1" 200 -
|
||||
localhost.localdomain - - [01/Aug/2013 13:15:45] "GET /targets/packages/A/Alice/alice-v2.0.tar.gz HTTP/1.1" 200 -
|
||||
|
||||
|
|
@ -1 +0,0 @@
|
|||
Alice was here
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1 +0,0 @@
|
|||
print hello world
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
[expiration]
|
||||
days = 364
|
||||
years = 0
|
||||
minutes = 0
|
||||
hours = 0
|
||||
seconds = 0
|
||||
|
||||
[release]
|
||||
keyids = 9a0933bdae0a2c387f086ecd2d79d8e59d7bce66aa21bf1de9b5069c30369dc9
|
||||
threshold = 1
|
||||
|
||||
[timestamp]
|
||||
keyids = 76caaafb5aabc062ea4b4efaf17a998acff6667678f60a72de9491f6df404a22
|
||||
threshold = 1
|
||||
|
||||
[root]
|
||||
keyids = c05b95f47865866ebe22fcb76595b05fcc77a2bf145ca3d7302ce7868cbaed7b
|
||||
threshold = 1
|
||||
|
||||
[targets]
|
||||
keyids = 845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b
|
||||
threshold = 1
|
||||
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
{
|
||||
"signatures": [
|
||||
{
|
||||
"keyid": "9a0933bdae0a2c387f086ecd2d79d8e59d7bce66aa21bf1de9b5069c30369dc9",
|
||||
"method": "evp",
|
||||
"sig": "adb041550a26327056b17409c59c2294930bcee1dc88008a9b458d828da673e2da4ae3c40257dfa51a25cd2cd23189fd1753546fd441879f275e515b433919e0403478bc2a7b7d9e455283f742fe5d059097be55eb2d705123194f31b13cb7d2a96421e5b7fb09df2f0a5d4245676b71c4630fd20ee29f962b3d327eb3362cd5e2f104b3a036d9c305817df955e19c49f3878cf3e65915c8a542adfd057f62522c1eca75cba513c81adb14994152934ecb4de1fb707d1aca4cc0f2b5ecb09e6645cb6f27f0769c8aeeff7f5728a910af9d310737c17e6b1cd611b07d70ee80de1457b13f54102ec5c58fdcf75470fe4db41c18f93f18a92f9929b8a9693e6e96b6231fc63705f47e05e079259e1eff17234060870685868da555d0bb05546f26d77ff7f091c3bd1a3e77633f2f5505597f8126a2130cacaee9a119c2915b48a0b08ff2152495462119b6a4ca05d302629bb7f7da60346a8cdd12f2820a00af6d1f3debffaf5052c2d31afa9c3fce3f82dbd139fcd0cd5062bede2c77c5e19407"
|
||||
}
|
||||
],
|
||||
"signed": {
|
||||
"_type": "Release",
|
||||
"expires": "2014-08-01 16:19:08 UTC",
|
||||
"meta": {
|
||||
"root.txt": {
|
||||
"hashes": {
|
||||
"sha256": "2e496d43eb877fc725dd3bd616da0c1e018057982d3c8acf8906a4104680feb1"
|
||||
},
|
||||
"length": 4793
|
||||
},
|
||||
"targets.txt": {
|
||||
"hashes": {
|
||||
"sha256": "c5cbeeaaa617fa9ecf282ed4ed3051ecba2d8f9535f148e14103c6d6ed6bfd39"
|
||||
},
|
||||
"length": 2260
|
||||
},
|
||||
"targets/packages.txt": {
|
||||
"hashes": {
|
||||
"sha256": "324aff11e6488e3619f8a291dc94f82faf60ab00ce67443ba32997bd0d1ad0cb"
|
||||
},
|
||||
"length": 2325
|
||||
},
|
||||
"targets/packages/A.txt": {
|
||||
"hashes": {
|
||||
"sha256": "0af576b49df40cc310ba314a82dc264202ec74d4238eb526d85230aacf9d2282"
|
||||
},
|
||||
"length": 2123
|
||||
},
|
||||
"targets/packages/A/Alice.txt": {
|
||||
"hashes": {
|
||||
"sha256": "49d0adb568d9323161f987087894df88cc0eb45ad2e4b7972b017915899226af"
|
||||
},
|
||||
"length": 1377
|
||||
},
|
||||
"targets/packages/B.txt": {
|
||||
"hashes": {
|
||||
"sha256": "e3618668fe88e9fa99cb305e24d8c78ed3083270bb3de8bbc42dbf4234f2e894"
|
||||
},
|
||||
"length": 2119
|
||||
},
|
||||
"targets/packages/B/Bob.txt": {
|
||||
"hashes": {
|
||||
"sha256": "3fb4ac73a78e66408b6192e28aa3b02e8180793a64fd99e49842b4a4ad45b7e9"
|
||||
},
|
||||
"length": 1369
|
||||
}
|
||||
},
|
||||
"version": 2
|
||||
}
|
||||
}
|
||||
|
|
@ -1,70 +0,0 @@
|
|||
{
|
||||
"signatures": [
|
||||
{
|
||||
"keyid": "c05b95f47865866ebe22fcb76595b05fcc77a2bf145ca3d7302ce7868cbaed7b",
|
||||
"method": "evp",
|
||||
"sig": "83448b51098091a562d9074dc14e02af5a6f18fcc18ff0dd0d709d0d1a597fbe9c96d2a077acffdc85be0357f76c46b1d2cbb579ad376458a88b2e00330b4028361c337593c96b7c2eec10dc337c7652d9e83d7c2dca7e59230199d2e6e5d3f0f1a38f09d305b47954f552ecb45df5c247ffa60b3b15198bc17a17d9198e688289ec70e3043cad1c1ac9405ad81d1af5135cf961f1a45d60f08d00c4e1713722711bee4864655a495f6e105020702ffea947fe3288358dffa46fa8d9c4c47fb7b3fd8a47b2371a0ffa78bce885b2ddb36b75ca6f6fea807e236593b882a7b1fc6c0fe43eb4b6709b060e08fb3e6f5a56fea6a5524130d01b461f1d6c2e3b1c2ef8784190245568062ec888af1fee0740b81ca0c99b775396b421f507581257277ba1e8609528ffef0ef5c9c205b63874e2c37b5dabb738cf5597e0c39010b8041a87b00030f69217e41e03376d1899c25d0d66d9e936b9308709eecc9862273a91e42301f6254f501bc10806a8aced547667678c39790598579dcb79b064b074"
|
||||
}
|
||||
],
|
||||
"signed": {
|
||||
"_type": "Root",
|
||||
"expires": "2014-07-31 15:21:53 UTC",
|
||||
"keys": {
|
||||
"76caaafb5aabc062ea4b4efaf17a998acff6667678f60a72de9491f6df404a22": {
|
||||
"keytype": "rsa",
|
||||
"keyval": {
|
||||
"private": "",
|
||||
"public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAxyi2M6UtfeITuiu4kbWZ\nOU5CRScab9Z8eWy9Weff/IiSYD47uRhnseT84ls50yCDzaUMlrCSG4Kd+AdAfcVl\nmsFCnRC5HHacFF9EEPSDud9L+4LTgqM1fP4vWfv8ZZ1sXI/5Npeo/D3bcC9NmcfR\nBMCzaQl1NEoYK+QVMcqVVImoWeLEtmU52u96Y4FZv06FodhpHPVvKUmJFnXe/ikM\nLe5sTCP0QKLtv+q1bfZ84KBkE50QfDpTF1bqiDeuCtb/3yNb91gkpPspuWjn9icK\nFCc/D5FpYSkVnWCoPzYsuVcQzIPFV2Zr8L1gvSvPOPY7SJulk+jri2T1kZw/rbDe\nA9T/I1yG36/8IXv9JYA8yiMR4cblFqi00gj1Q3NrelBdYc27t8GDNP2D2H4wMw3P\nnTmmfJQ5WpR5ZbjVHy/OU5YCpeJ77sdBITaSVn5IWLYumko+vJohOoordMBfV/jZ\nTVVeaz0OCp9sPs46xKVN+m109/NNejS90gLIKPKDSfPrAgMBAAE=\n-----END PUBLIC KEY-----\n"
|
||||
}
|
||||
},
|
||||
"845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b": {
|
||||
"keytype": "rsa",
|
||||
"keyval": {
|
||||
"private": "",
|
||||
"public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0HjJD27+MwJ6xCPS4TrT\ntehsJQZDz2W10/ZixTWI0x9k6fXwvd18wqGLwz+vS13ow6SrUHBYXwBO/5Pblpgu\nN2mE/CWPzQ59vaVvcT3yb8gKqrtqcaT4tYSumzJzBNocDTik2Tyx2g0VincnDPAa\nVnsrkk9zmh+f1WMffaT4w2cu82NRTCoVVB43bk1UyjHQD0+moDb9UL2lQk2pBdMZ\n+PaChhMtgzf1mlmOicnb/OZgJK5uJfq6umv5oO4Io0tzEF/6xnj+6CsQWwMhiQpK\nZHNsGO+f/WE/SFOXd9C+Ljnu9JsqWIPAYJG9x8PCNY4sZhv+cBYDwqTav/NmcwtZ\nfaw0RTuKQBwD8C2syS2LdU14H5koWY8H6+TQVQp0JnddzTsO2PRrbB/whQpYwN3L\nY9Q+H5/AurrlIjv/HehoPRHceeBrlRNiqF0OKraYQicI/pPcfH/UcHvp/GsGxTMd\nwEIEszVoDK579WtJtDvK1CZPISeJ7RDxspG2Shz6ID8vAgMBAAE=\n-----END PUBLIC KEY-----\n"
|
||||
}
|
||||
},
|
||||
"9a0933bdae0a2c387f086ecd2d79d8e59d7bce66aa21bf1de9b5069c30369dc9": {
|
||||
"keytype": "rsa",
|
||||
"keyval": {
|
||||
"private": "",
|
||||
"public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAuvReIoGpKvK0rwmkgccg\nmv8sTtEBolT02THaxO+6+gSPO/509msi/M3UNHsGNda1gccdwRMTsR/C9lCKC9Mp\nZ+JcOUl70SkL1lf4QlttWEDyDgDg1M7RPfcMZnq+eo/BPqGOxmbeNxKS2tqNfpQQ\nOqvSb7MMeII/mitunWo+UbJE/No9dimueFAjgHwQfH3rJCMnjfL5OT15UipHICCV\n/x6Rypc47kyOIfAvGMBnPT+sSapu+tboGPQf4kYwDpQVBPrJuGLYbgFvLAP/JKoi\ndHwXKeOAYP6FSioKcXbOspVd7a6FCUHQtEX8g158WOb28Ggo3eeXJx4Yb6ZW4WhD\no1jHNyELE2n1h42FETUNiESF3WDbfGZX8XINy+PXmVWGsY0YTdFOcSmw5k4fZ2Dp\nD57R7GQanMBBkpB/J5dVYvdP/NLTHeueBRFDJAFM+HRozbTpi+pFTcKV0dITLh43\nQrvSE7ZK2ktW1Zo5aJuhVClxga3teM6N4Hm3wEv1mfqBAgMBAAE=\n-----END PUBLIC KEY-----\n"
|
||||
}
|
||||
},
|
||||
"c05b95f47865866ebe22fcb76595b05fcc77a2bf145ca3d7302ce7868cbaed7b": {
|
||||
"keytype": "rsa",
|
||||
"keyval": {
|
||||
"private": "",
|
||||
"public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0BLhIsIORHPXuTU1CPSj\n34jQVNs3jXfpEfDIoYQcLPrNoz5icGWlg3H7YFtGSGOIOzJbyMlQR3iyGu7IYSW7\nuyJRX8OJ6rkbLcAg3z4QXZf6Y8isQYQGBiPb/j/LKGpGs6GA0wDqVfcCUJGtz04k\n5P4oPmJZjiQO2uMyQKYkJDWXllAgkY/SkuOUHyk/knE8EHIoNCwqCAVVnKc/gg/O\nL2I6mwkyes6eXQDRdwRK0z1P72ebzAgKdshhU8Jx4S1W3BTdX4CZ0TqBKxiNkhTi\nIWkZHM5hijX7NbCUNTIL4MUSDGga/quqs3kSMCM3lOd37MLiTDXHcCZoF09w6cgy\njsZyZZR7PBgpQjQ4EjgKstrAForp7ph7dF/BAP4Fz3uf9JBhdJ3LaIT/0et0BA/J\n52TxMT84ngzS+yWobqdrOK9xVaNOZTS0j3ScWpBKRCDR1E+llUJlkjphdD6Og8K2\ntFVKwCTYm3qfwHd2ulllVzbOOntTnq/ppcQjtTO2yYSVAgMBAAE=\n-----END PUBLIC KEY-----\n"
|
||||
}
|
||||
}
|
||||
},
|
||||
"roles": {
|
||||
"release": {
|
||||
"keyids": [
|
||||
"9a0933bdae0a2c387f086ecd2d79d8e59d7bce66aa21bf1de9b5069c30369dc9"
|
||||
],
|
||||
"threshold": 1
|
||||
},
|
||||
"root": {
|
||||
"keyids": [
|
||||
"c05b95f47865866ebe22fcb76595b05fcc77a2bf145ca3d7302ce7868cbaed7b"
|
||||
],
|
||||
"threshold": 1
|
||||
},
|
||||
"targets": {
|
||||
"keyids": [
|
||||
"845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b"
|
||||
],
|
||||
"threshold": 1
|
||||
},
|
||||
"timestamp": {
|
||||
"keyids": [
|
||||
"76caaafb5aabc062ea4b4efaf17a998acff6667678f60a72de9491f6df404a22"
|
||||
],
|
||||
"threshold": 1
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
}
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
{
|
||||
"signatures": [
|
||||
{
|
||||
"keyid": "845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b",
|
||||
"method": "evp",
|
||||
"sig": "89a80bef74459020b690187315ff0b3ecae376c68a5305ca08d29151fc3f5047385da8c70d1965d9c47bda9dce4ab8a2c83a8c04792d097491555bc884a8a833e644c0d85b27338154b861c7f829221f3e0d3170b3414a7922ff37cbb5223a7dafd95e8eb5bc4b2bcdcbcb72533751ebe4a6adb441d4389d0f55ad9a68beac98442aac953c0a6e531f45f78891ad15c72e54dda57e673d60d9936278d60f89ababcbc811eda9ba770b1a5cb222ff4e15f18da323b01e49e03ffbdfea207047d2543baa458978fc14644716ce92b9d112e732538d14002d5db5aa7143ee6eddf463b6e96f9504f87b393e8c340bfb5f425c05af454bc67711daabd412e96a295563b9171d7623f08a87a449f8e594e66e68e49f302e639ad523ce1baebe458afe07136030b949c5ba8114f975bcf1462486cc115a50a27263270cb63c0bcbe9e4ebc8171d9453e279086309668ac2d538b665c64888b43806a5bb97207fd91a02f4634c723da81dff84225eec4439c0acdb893410e34fd62343108d7b7055b59e"
|
||||
}
|
||||
],
|
||||
"signed": {
|
||||
"_type": "Targets",
|
||||
"delegations": {
|
||||
"keys": {
|
||||
"845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b": {
|
||||
"keytype": "rsa",
|
||||
"keyval": {
|
||||
"private": "",
|
||||
"public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0HjJD27+MwJ6xCPS4TrT\ntehsJQZDz2W10/ZixTWI0x9k6fXwvd18wqGLwz+vS13ow6SrUHBYXwBO/5Pblpgu\nN2mE/CWPzQ59vaVvcT3yb8gKqrtqcaT4tYSumzJzBNocDTik2Tyx2g0VincnDPAa\nVnsrkk9zmh+f1WMffaT4w2cu82NRTCoVVB43bk1UyjHQD0+moDb9UL2lQk2pBdMZ\n+PaChhMtgzf1mlmOicnb/OZgJK5uJfq6umv5oO4Io0tzEF/6xnj+6CsQWwMhiQpK\nZHNsGO+f/WE/SFOXd9C+Ljnu9JsqWIPAYJG9x8PCNY4sZhv+cBYDwqTav/NmcwtZ\nfaw0RTuKQBwD8C2syS2LdU14H5koWY8H6+TQVQp0JnddzTsO2PRrbB/whQpYwN3L\nY9Q+H5/AurrlIjv/HehoPRHceeBrlRNiqF0OKraYQicI/pPcfH/UcHvp/GsGxTMd\nwEIEszVoDK579WtJtDvK1CZPISeJ7RDxspG2Shz6ID8vAgMBAAE=\n-----END PUBLIC KEY-----\n"
|
||||
}
|
||||
}
|
||||
},
|
||||
"roles": [
|
||||
{
|
||||
"keyids": [
|
||||
"845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b"
|
||||
],
|
||||
"name": "targets/packages",
|
||||
"paths": [
|
||||
"packages/"
|
||||
],
|
||||
"threshold": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"expires": "2013-10-31 22:49:03 UTC",
|
||||
"targets": {
|
||||
"helloworld.py": {
|
||||
"hashes": {
|
||||
"sha256": "14d9f7904b16af5b3cd64285eb349bdce11dd3688d6e330ab7da87eb37512941"
|
||||
},
|
||||
"length": 18
|
||||
}
|
||||
},
|
||||
"version": 2
|
||||
}
|
||||
}
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
{
|
||||
"signatures": [
|
||||
{
|
||||
"keyid": "845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b",
|
||||
"method": "evp",
|
||||
"sig": "028e6e6c93e3973bdbc295a5e96fb9d67926dc5a67b3127a77d3dbdd55e1b87bf82183e64f3e0ce133d0cf75b64a0c80f432c91c95bcd583af073473e991c7bc2a12cce0290b17232d82f010268eeb1192a242a14aa992b9b6036fff5dcf3fe5a2fcc0d15d9ca6aee54ca2a053779889968eac11c160fed1056b2ad0092f69deac9d286657b64a92f0b9182bdfee32930117b83baf729bd494b259d60a3ebd54c0a154ba87d710f9f8ab5ef6cfd563dffe346ef6bcb6551c5323f5c68839089a3ea65926c0fa159c43272d1323fd521b403dbe88d7213955e3c121328eb816db3521e059fc37b2e88741f517747344ce9b5520693061848b627077db692ab44afc1cab484270aa826339b1181862b461433b79d066cfb289fdd5f91b4e193bbdf5053d33e93b615e40ade38d7c74d8d3da8ae2df4fbaf4792a867cf08ba182666f465d0a0723058eebbec94b1c9e9f46560e05a45d58fdf98e5b5362077d63f00b0c8cf5ca00f60ef3ef5b2559a1c129eca3422a228aac3fa6882b368bfc233c"
|
||||
}
|
||||
],
|
||||
"signed": {
|
||||
"_type": "Targets",
|
||||
"delegations": {
|
||||
"keys": {
|
||||
"845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b": {
|
||||
"keytype": "rsa",
|
||||
"keyval": {
|
||||
"private": "",
|
||||
"public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0HjJD27+MwJ6xCPS4TrT\ntehsJQZDz2W10/ZixTWI0x9k6fXwvd18wqGLwz+vS13ow6SrUHBYXwBO/5Pblpgu\nN2mE/CWPzQ59vaVvcT3yb8gKqrtqcaT4tYSumzJzBNocDTik2Tyx2g0VincnDPAa\nVnsrkk9zmh+f1WMffaT4w2cu82NRTCoVVB43bk1UyjHQD0+moDb9UL2lQk2pBdMZ\n+PaChhMtgzf1mlmOicnb/OZgJK5uJfq6umv5oO4Io0tzEF/6xnj+6CsQWwMhiQpK\nZHNsGO+f/WE/SFOXd9C+Ljnu9JsqWIPAYJG9x8PCNY4sZhv+cBYDwqTav/NmcwtZ\nfaw0RTuKQBwD8C2syS2LdU14H5koWY8H6+TQVQp0JnddzTsO2PRrbB/whQpYwN3L\nY9Q+H5/AurrlIjv/HehoPRHceeBrlRNiqF0OKraYQicI/pPcfH/UcHvp/GsGxTMd\nwEIEszVoDK579WtJtDvK1CZPISeJ7RDxspG2Shz6ID8vAgMBAAE=\n-----END PUBLIC KEY-----\n"
|
||||
}
|
||||
}
|
||||
},
|
||||
"roles": [
|
||||
{
|
||||
"keyids": [
|
||||
"845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b"
|
||||
],
|
||||
"name": "targets/packages/A",
|
||||
"paths": [
|
||||
"packages/A/"
|
||||
],
|
||||
"threshold": 1
|
||||
},
|
||||
{
|
||||
"keyids": [
|
||||
"845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b"
|
||||
],
|
||||
"name": "targets/packages/B",
|
||||
"paths": [
|
||||
"packages/B/"
|
||||
],
|
||||
"threshold": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"expires": "2014-08-01 15:37:45 UTC",
|
||||
"targets": {},
|
||||
"version": 3
|
||||
}
|
||||
}
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
{
|
||||
"signatures": [
|
||||
{
|
||||
"keyid": "845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b",
|
||||
"method": "evp",
|
||||
"sig": "69be32d77d781bb48f0518dafade5fb0a166d9ad82340a3a20f7630165d69d8ab0f8e753fd490c4c8727968539a4285db94bf73317a83672a177576ebb8091ec8ed34334893a683dad990ddd2ef7f0b1c034ed581b11ff12a30d78e31bb3c16918464a91128b3151eafab427b316134e17106ebaaee9ab78d39673beb4d08fd5aeac506e485e9e71903886ec1adb9a69dd1855b98aec2e7d48e361ec5b92ea728d4d8ba3bb16e84dd36cbef88bfbb8ecb39d9e1b20544a678062af312447b302803592da00f68846d68f6c05dbb5e7419dca5b07e8d43aa5a9b1a3a0e8386c815c665160062c7b4760761d05c683ddf18e398816120cc7860574ac98b9fd3ef74018210b454b765bb4dfe45163b348f44fc1c804ae69fc1a13d7e71a03d0af724838ab959da6828e990e604cb563a00724e6b4deb7e8ca13275bbfc89185d1cd71d3fb2c11692b5785801632bd1e54d60d73b5817dd654217cdc0850df5527f04ae8ba053e9a040a7bd0de740629640354895bf6399ca9672f432d507b4ced82"
|
||||
}
|
||||
],
|
||||
"signed": {
|
||||
"_type": "Targets",
|
||||
"delegations": {
|
||||
"keys": {
|
||||
"845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b": {
|
||||
"keytype": "rsa",
|
||||
"keyval": {
|
||||
"private": "",
|
||||
"public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0HjJD27+MwJ6xCPS4TrT\ntehsJQZDz2W10/ZixTWI0x9k6fXwvd18wqGLwz+vS13ow6SrUHBYXwBO/5Pblpgu\nN2mE/CWPzQ59vaVvcT3yb8gKqrtqcaT4tYSumzJzBNocDTik2Tyx2g0VincnDPAa\nVnsrkk9zmh+f1WMffaT4w2cu82NRTCoVVB43bk1UyjHQD0+moDb9UL2lQk2pBdMZ\n+PaChhMtgzf1mlmOicnb/OZgJK5uJfq6umv5oO4Io0tzEF/6xnj+6CsQWwMhiQpK\nZHNsGO+f/WE/SFOXd9C+Ljnu9JsqWIPAYJG9x8PCNY4sZhv+cBYDwqTav/NmcwtZ\nfaw0RTuKQBwD8C2syS2LdU14H5koWY8H6+TQVQp0JnddzTsO2PRrbB/whQpYwN3L\nY9Q+H5/AurrlIjv/HehoPRHceeBrlRNiqF0OKraYQicI/pPcfH/UcHvp/GsGxTMd\nwEIEszVoDK579WtJtDvK1CZPISeJ7RDxspG2Shz6ID8vAgMBAAE=\n-----END PUBLIC KEY-----\n"
|
||||
}
|
||||
}
|
||||
},
|
||||
"roles": [
|
||||
{
|
||||
"keyids": [
|
||||
"845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b"
|
||||
],
|
||||
"name": "targets/packages/A/Alice",
|
||||
"paths": [
|
||||
"packages/A/Alice/"
|
||||
],
|
||||
"threshold": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"expires": "2014-08-01 15:45:01 UTC",
|
||||
"targets": {},
|
||||
"version": 2
|
||||
}
|
||||
}
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
{
|
||||
"signatures": [
|
||||
{
|
||||
"keyid": "845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b",
|
||||
"method": "evp",
|
||||
"sig": "b55953980cc35017cf6deb2681380880f14b216d261c18e45bf4ebecbda0c6cc07e49607dac81639037008f8cc328ecd7f2c5858d454861b3bfd3f2209c24067164edf0af14c5f4564c9244f7c423825c7e162df618159e3c376f1c6ed4fb56e97b3d7fd3da59724c706e6f86b1ccfae1896ed6f792b76517cb87be92fc6336f892191c2dc3f55511c15cd787157af26489f2e8fc011507dcae5f4f7b314fd1c7a97c7fc8d91559d92e8615bfde318acea99bef2c4906c92c0d6e97ce3ae27c6e7ad5a232809f05fda1f6f5241fea5dfe2b86a00a57859c3b5322ad22cd7ebb5d71c3b8014de5a866068e9eb77ff9d0bdc3599b0de18f0f6f1a3546f03989e02346dc81b36601eda373814401381bf97709a7545ef448c9d3eaf1f80fedf5a959042d700ba7ebd060c4348cac3452258823039d06871d90c5fbf22e2572abda908a1f9160856db4bcd5b152a35ef81dd977f13aabec7d4fa05499a5969e03841e088dd29239795d4a2927616e210200ce3dfa82a4c250775c33c18035e5aa62a"
|
||||
}
|
||||
],
|
||||
"signed": {
|
||||
"_type": "Targets",
|
||||
"expires": "2014-08-01 15:46:53 UTC",
|
||||
"targets": {
|
||||
"packages/A/Alice/alice-v1.0.tar.gz": {
|
||||
"hashes": {
|
||||
"sha256": "21ecfb59295a055b39003e6b9a63b4aa7b3724458a7c663b00ee6cf69fc09e68"
|
||||
},
|
||||
"length": 15
|
||||
},
|
||||
"packages/A/Alice/alice-v2.0.tar.gz": {
|
||||
"hashes": {
|
||||
"sha256": "21ecfb59295a055b39003e6b9a63b4aa7b3724458a7c663b00ee6cf69fc09e68"
|
||||
},
|
||||
"length": 15
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
}
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
{
|
||||
"signatures": [
|
||||
{
|
||||
"keyid": "845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b",
|
||||
"method": "evp",
|
||||
"sig": "6be3f064c985d60a1ab0ede575b8f86ff55f4bbbe457d30e330ae53ef4377751793282639d914c66028620f7d0076f73ae7ebf816cf1c98d77e765f1c76d64bebe79fb759d7307146458e206725fee8c9371f755cb49a59bd06458a5f214797175dbd6a745c290f968c43d15a8bb993cac6b02860a9e6fc351a083e72ea63a3298f138db25cb0441946ef88f09a3e4b3dfdd88622f79f3d3bdbc9d1f280a160e0e5a6a80dab324a7764b7f8951a0fd75a071f2b0e71a0a2914559bf1c2c7272dba42e5d171d36323afe98bf1eb48773c6a6ea23af941eb79a707be607b3e6a096ad330b6009db637460139e6aef0891455aa8e7b6c8953a409841357a43dd6b93e66c308d96ab80822d37eee2cd24c928f46f353957764dfd3c01a19aadc8c8d61d7f335d3d45cb6c28efae840ce3cc9324afcd4501a254a2283b0beaf4b590cb498ba3615244acf3a64b09fc216601222de8abb22b7c9e042b63e840c52c0cc31482c46e3a31e21d3267676249f0f7468b754748dfc6d83190d05b735343b88"
|
||||
}
|
||||
],
|
||||
"signed": {
|
||||
"_type": "Targets",
|
||||
"delegations": {
|
||||
"keys": {
|
||||
"845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b": {
|
||||
"keytype": "rsa",
|
||||
"keyval": {
|
||||
"private": "",
|
||||
"public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0HjJD27+MwJ6xCPS4TrT\ntehsJQZDz2W10/ZixTWI0x9k6fXwvd18wqGLwz+vS13ow6SrUHBYXwBO/5Pblpgu\nN2mE/CWPzQ59vaVvcT3yb8gKqrtqcaT4tYSumzJzBNocDTik2Tyx2g0VincnDPAa\nVnsrkk9zmh+f1WMffaT4w2cu82NRTCoVVB43bk1UyjHQD0+moDb9UL2lQk2pBdMZ\n+PaChhMtgzf1mlmOicnb/OZgJK5uJfq6umv5oO4Io0tzEF/6xnj+6CsQWwMhiQpK\nZHNsGO+f/WE/SFOXd9C+Ljnu9JsqWIPAYJG9x8PCNY4sZhv+cBYDwqTav/NmcwtZ\nfaw0RTuKQBwD8C2syS2LdU14H5koWY8H6+TQVQp0JnddzTsO2PRrbB/whQpYwN3L\nY9Q+H5/AurrlIjv/HehoPRHceeBrlRNiqF0OKraYQicI/pPcfH/UcHvp/GsGxTMd\nwEIEszVoDK579WtJtDvK1CZPISeJ7RDxspG2Shz6ID8vAgMBAAE=\n-----END PUBLIC KEY-----\n"
|
||||
}
|
||||
}
|
||||
},
|
||||
"roles": [
|
||||
{
|
||||
"keyids": [
|
||||
"845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b"
|
||||
],
|
||||
"name": "targets/packages/B/Bob",
|
||||
"paths": [
|
||||
"packages/B/Bob/"
|
||||
],
|
||||
"threshold": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"expires": "2014-08-01 15:48:49 UTC",
|
||||
"targets": {},
|
||||
"version": 2
|
||||
}
|
||||
}
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
{
|
||||
"signatures": [
|
||||
{
|
||||
"keyid": "845dc45bcd742df57d984dbaa46a959623950923470897b6230ae859bbffad6b",
|
||||
"method": "evp",
|
||||
"sig": "a15f0ec1c526228eb47847309571e4b4c3ee69202727420ad3472beec9e1c8dd17143215e9a98b9150eb9aa710e053661a64fc8a21ae2c0860d41eb765f9c5571a922e7a969ec501283fd1e811f15921151a584abba9f7d96a5a80191616e0047c60529fab7bd6d8a8bf963d32981e875cbd1909295abf1aaf84b420ca24b934a78adadb41c5e58b31abc3162a0f4310acca29a582e80c65da54f2a48c585b8c5191311905c6885832f898f995ac1e6594be4cffd9a681fbb09fbac3fefde9fa9ebd44cbcffa183f1c9e7219e031c47cd02edc53dec61a4ada8e9c9e20a57956526fd963bbc22bba4bc3c9b3fd962e8d220e27ae83164348840cd1333817d3931387f6d1a2badb24b88013f50350481bfdd2a61f50af840a2f26d861c2526e92f9607aa13ffec8276c36fb473cad0ef6e431ce6091e4e07df2ba4e2233247466ca0f2c4f0245c72ae153b95b288fd15194cdb836887fa37c62e4ad0eeb4f48367be8662a84ffab639c734f6c5d0c4429042bb43aad3e978806489a3a12bb4c3e"
|
||||
}
|
||||
],
|
||||
"signed": {
|
||||
"_type": "Targets",
|
||||
"expires": "2014-08-01 15:49:51 UTC",
|
||||
"targets": {
|
||||
"packages/B/Bob/bob-v1.0.tar.gz": {
|
||||
"hashes": {
|
||||
"sha256": "fa0b862231b81ff78cb1f431531c819354519e32f351c9b2109534ac5e9b1f07"
|
||||
},
|
||||
"length": 13
|
||||
},
|
||||
"packages/B/Bob/bob-v2.0.tar.gz": {
|
||||
"hashes": {
|
||||
"sha256": "fa0b862231b81ff78cb1f431531c819354519e32f351c9b2109534ac5e9b1f07"
|
||||
},
|
||||
"length": 13
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
}
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
{
|
||||
"signatures": [
|
||||
{
|
||||
"keyid": "76caaafb5aabc062ea4b4efaf17a998acff6667678f60a72de9491f6df404a22",
|
||||
"method": "evp",
|
||||
"sig": "9d09a61312b76ab8ec6f16b1bd9800769c306898c92df7a05bdd3a7bfe30747b187dab13427853957c3b21c1dc93519c290564f7703f4b07529fc64ff0e75d91569471bc112ab07d6253475489a07971384bcab10150c69d10c91960b75f7aa04b2c230eecc299b0e174278146bf3ab070841a1ff7ff15c7ad056eb020c29785b3ff432e2029c7bb56cdc36933204ce52e7dd32d5a7b9349b3f00d0da65a3423dadb4d74cf9abb91c29533c6d09b81811b1d3aed04988af0795ffa62fa409ada0a92a72d1f04f89caead224aa734aeb664fdb62a04b6045e8d749e015a5c40df81e275472e681722ed7afcf2556295eeb2463fbb36b055cc8581c9d8457d66c67b400627ab42d4619e8d6f881c66dda74385de451a5cbb967821255f7b211a03e34dc836b42e73d1588ac2ed5395f3e1c0ff281c84a9298d895cbf1b748ad19705a3ee26151eb08bb51df0210acca69b6a358390b223201e588d9c750f60238c6144a264f07e0631305566c1d41a07432800e226caaba2481882ffdeb177c657"
|
||||
}
|
||||
],
|
||||
"signed": {
|
||||
"_type": "Timestamp",
|
||||
"expires": "2014-08-01 16:19:39 UTC",
|
||||
"meta": {
|
||||
"release.txt": {
|
||||
"hashes": {
|
||||
"sha256": "f22f2f12fad9069b2fb569d9e9273a95b015fe2d8f3937addfed3dc1e48d86de"
|
||||
},
|
||||
"length": 2152
|
||||
}
|
||||
},
|
||||
"version": 2
|
||||
}
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
print hello world
|
||||
|
|
@ -1 +0,0 @@
|
|||
Alice was here
|
||||
|
|
@ -1 +0,0 @@
|
|||
Alice was here
|
||||
|
|
@ -1 +0,0 @@
|
|||
Bob was here
|
||||
|
|
@ -1 +0,0 @@
|
|||
Bob was here
|
||||
Loading…
Reference in a new issue