Beispiel #1
0
# An integer representing length.  Must be 0, or greater.
LENGTH_SCHEMA = SCHEMA.Integer(lo=0)

# An integer representing logger levels, such as logging.CRITICAL (=50).
# Must be between 0 and 50.
LOGLEVEL_SCHEMA = SCHEMA.Integer(lo=0, hi=50)

# A string representing a named object.
NAME_SCHEMA = SCHEMA.AnyString()
NAMES_SCHEMA = SCHEMA.ListOf(NAME_SCHEMA)

# Supported hash algorithms.
HASHALGORITHMS_SCHEMA = SCHEMA.ListOf(
    SCHEMA.OneOf([
        SCHEMA.String('md5'),
        SCHEMA.String('sha1'),
        SCHEMA.String('sha224'),
        SCHEMA.String('sha256'),
        SCHEMA.String('sha384'),
        SCHEMA.String('sha512')
    ]))

# The contents of an encrypted TUF key.  Encrypted TUF keys are saved to files
# in this format.
ENCRYPTEDKEY_SCHEMA = SCHEMA.AnyBytes()

# A value that is either True or False, on or off, etc.
BOOLEAN_SCHEMA = SCHEMA.Boolean()

# A role's threshold value (i.e., the minimum number
Beispiel #2
0
# The actual values of a key, as opposed to meta data such as a key type and
# key identifier ('rsa', 233df889cb).  For RSA keys, the key value is a pair of
# public and private keys in PEM Format stored as strings.
KEYVAL_SCHEMA = SCHEMA.Object(object_name='keyval',
                              public=SCHEMA.AnyString(),
                              private=SCHEMA.AnyString())

# A generic key.  All TUF keys should be saved to metadata files in this format.
KEY_SCHEMA = SCHEMA.Object(object_name='key',
                           keytype=SCHEMA.AnyString(),
                           keyval=KEYVAL_SCHEMA)

# An RSA key.
RSAKEY_SCHEMA = SCHEMA.Object(object_name='rsakey',
                              keytype=SCHEMA.String('rsa'),
                              keyid=KEYID_SCHEMA,
                              keyval=KEYVAL_SCHEMA)

# Info that describes both metadata and target files.
# This schema allows the storage of multiple hashes for the same file
# (e.g., sha256 and sha512 may be computed for the same file and stored).
FILEINFO_SCHEMA = SCHEMA.Object(object_name='fileinfo',
                                length=LENGTH_SCHEMA,
                                hashes=HASHDICT_SCHEMA,
                                custom=SCHEMA.Optional(SCHEMA.Object()))

# A dict holding the information for a particular file.  The keys hold the
# relative file path and the values the relevant file information.
FILEDICT_SCHEMA = SCHEMA.DictOf(key_schema=RELPATH_SCHEMA,
                                value_schema=FILEINFO_SCHEMA)
Beispiel #3
0
# A string representing a password.
PASSWORD_SCHEMA = SCHEMA.AnyString()

# A list of passwords.
PASSWORDS_SCHEMA = SCHEMA.ListOf(PASSWORD_SCHEMA)

# The actual values of a key, as opposed to meta data such as a key type and
# key identifier ('rsa', 233df889cb).  For RSA keys, the key value is a pair of
# public and private keys in PEM Format stored as strings.
KEYVAL_SCHEMA = SCHEMA.Object(object_name='KEYVAL_SCHEMA',
                              public=SCHEMA.AnyString(),
                              private=SCHEMA.AnyString())

# Supported TUF key types.
KEYTYPE_SCHEMA = SCHEMA.OneOf([SCHEMA.String('rsa'), SCHEMA.String('ed25519')])

# A generic TUF key.  All TUF keys should be saved to metadata files in this
# format.
KEY_SCHEMA = SCHEMA.Object(object_name='KEY_SCHEMA',
                           keytype=SCHEMA.AnyString(),
                           keyval=KEYVAL_SCHEMA)

# A TUF key object.  This schema simplifies validation of keys that may be
# one of the supported key types.
# Supported key types: 'rsa', 'ed25519'.
ANYKEY_SCHEMA = SCHEMA.Object(object_name='ANYKEY_SCHEMA',
                              keytype=KEYTYPE_SCHEMA,
                              keyid=KEYID_SCHEMA,
                              keyval=KEYVAL_SCHEMA)