Esempio n. 1
0
# Information characterizing and identifying an ECU.
# ECU_SCHEMA = SCHEMA.Object(
#     ecu_id = SCHEMA.AnyString(),
#     ecu_type = SCHEMA.AnyString(),
#     vin = VIN_SCHEMA)
ECU_SERIAL_SCHEMA = SCHEMA.AnyString(
)  # Instead, for now, we'll go with an ecu serial number.

# Information specifying the target(s) installed on a given ECU.
# This object corresponds to not "ECUVersionManifest" in the Uptane
# Implementation Specification, but the signed contents of that object.
ECU_VERSION_MANIFEST_SCHEMA = SCHEMA.Object(
    ecu_serial=ECU_SERIAL_SCHEMA,
    installed_image=TARGETFILE_SCHEMA,
    timeserver_time=ISO8601_DATETIME_SCHEMA,
    previous_timeserver_time=ISO8601_DATETIME_SCHEMA,
    attacks_detected=SCHEMA.AnyString(
    ))  # was expired metadata previously detected?

# This object corresponds to "ECUVersionManifest" in ASN.1 in the Uptane
# Implementation Specification.
SIGNABLE_ECU_VERSION_MANIFEST_SCHEMA = SCHEMA.Object(
    object_name='SIGNABLE_ECU_VERSION_MANIFEST_SCHEMA',
    signed=ECU_VERSION_MANIFEST_SCHEMA,
    signatures=SCHEMA.ListOf(SIGNATURE_SCHEMA))

# Anything encoded as DER is not readily inspected. Its encoding can be checked
# this way, and conversion back from ASN.1/DER to a Python dictionary should be
# performed before a thorough check of the contents.
DER_DATA_SCHEMA = SCHEMA.AnyBytes()
Esempio n. 2
0
SIG_METHOD_SCHEMA = SCHEMA.AnyString()

# A relative file path (e.g., 'metadata/root/').
RELPATH_SCHEMA = SCHEMA.AnyString()
RELPATHS_SCHEMA = SCHEMA.ListOf(RELPATH_SCHEMA)

# An absolute path.
PATH_SCHEMA = SCHEMA.AnyString()
PATHS_SCHEMA = SCHEMA.ListOf(PATH_SCHEMA)

# Uniform Resource Locator identifier (e.g., 'https://www.updateframework.com/').
URL_SCHEMA = SCHEMA.AnyString()

# A dictionary holding version information.
VERSION_SCHEMA = SCHEMA.Object(object_name='VERSION_SCHEMA',
                               major=SCHEMA.Integer(lo=0),
                               minor=SCHEMA.Integer(lo=0),
                               fix=SCHEMA.Integer(lo=0))

# An integer representing the numbered version of a metadata file.
# Must be 1, or greater.
METADATAVERSION_SCHEMA = SCHEMA.Integer(lo=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()
Esempio n. 3
0
SIG_METHOD_SCHEMA = SCHEMA.AnyString()

# A relative file path (e.g., 'metadata/root/').
RELPATH_SCHEMA = SCHEMA.AnyString()
RELPATHS_SCHEMA = SCHEMA.ListOf(RELPATH_SCHEMA)

# An absolute path.
PATH_SCHEMA = SCHEMA.AnyString()
PATHS_SCHEMA = SCHEMA.ListOf(PATH_SCHEMA)

# Uniform Resource Locator identifier (e.g., 'https://www.updateframework.com/').
URL_SCHEMA = SCHEMA.AnyString()

# A dictionary holding version information.
VERSION_SCHEMA = SCHEMA.Object(object_name='version',
                               major=SCHEMA.Integer(lo=0),
                               minor=SCHEMA.Integer(lo=0),
                               fix=SCHEMA.Integer(lo=0))

# An integer representing the numbered version of a metadata file.
# Must be 1, or greater.
METADATAVERSION_SCHEMA = SCHEMA.Integer(lo=1)

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

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

# A value that is either True or False, on or off, etc.
TOGGLE_SCHEMA = SCHEMA.Boolean()
Esempio n. 4
0
SIG_METHOD_SCHEMA = SCHEMA.AnyString()

# A relative file path (e.g., 'metadata/root/').
RELPATH_SCHEMA = SCHEMA.AnyString()
RELPATHS_SCHEMA = SCHEMA.ListOf(RELPATH_SCHEMA)

# An absolute path.
PATH_SCHEMA = SCHEMA.AnyString()
PATHS_SCHEMA = SCHEMA.ListOf(PATH_SCHEMA)

# Uniform Resource Locator identifier (e.g., 'https://www.updateframework.com/').
URL_SCHEMA = SCHEMA.AnyString()

# A dictionary holding version information.
VERSION_SCHEMA = SCHEMA.Object(object_name='VERSION_SCHEMA',
                               major=SCHEMA.Integer(lo=0),
                               minor=SCHEMA.Integer(lo=0),
                               fix=SCHEMA.Integer(lo=0))

# An integer representing the numbered version of a metadata file.
# Must be 1, or greater.
METADATAVERSION_SCHEMA = SCHEMA.Integer(lo=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()