Module tough::schema[][src]

Expand description

Provides the schema objects as defined by the TUF spec.

Modules

Provides a wrapper and traits for abstracting over decoded keys or different types.

Handles cryptographic keys and their serialization in TUF metadata files.

Structs

Each role delegated in a targets file is considered a delegated role

Wrapper for Targets so that a Targets role can be given a name

Delegations are found in a targets.json file. TUF 4.5: DELEGATIONS is an object whose format is the following:

Provides a Transport for local files.

Represents the hash dictionary in a snapshot.json file.

Represents the key IDs used for a role and the threshold of signatures required to validate it. TUF 4.3: A ROLE is one of “root”, “snapshot”, “targets”, “timestamp”, or “mirrors”. A role for each of “root”, “snapshot”, “timestamp”, and “targets” MUST be specified in the key list. The role of “mirror” is optional. If not specified, the mirror list will not need to be signed if mirror lists are being used. The THRESHOLD for a role is an integer of the number of keys of that role whose signatures are required in order to consider a file as being properly signed by that role.

TUF 4.3: The root.json file is signed by the root role’s keys. It indicates which keys are authorized for all top-level roles, including the root role itself. Revocation and replacement of top-level role keys, including for the root role, is done by changing the keys listed for the roles in this file.

A signature and the key ID that made it.

A signed metadata object.

TUF 4.4 The snapshot.json file is signed by the snapshot role. It MUST list the version numbers of the top-level targets metadata and all delegated targets metadata. It MAY also list their lengths and file hashes.

Represents a metadata file in a snapshot.json file. TUF 4.4: METAFILES is an object whose format is the following:

TUF 4.5: TARGETS is an object whose format is the following:

Represents a targets.json file. TUF 4.5: The “signed” portion of targets.json is as follows:

Represents a timestamp.json file. TUF 4.6: The timestamp file is signed by a timestamp key. It indicates the latest version of the snapshot metadata and is frequently resigned to limit the amount of time a client can be kept unaware of interference with obtaining updates.

METAFILES is the same as described for the snapshot.json file. In the case of the timestamp.json file, this MUST only include a description of the snapshot.json file.

Enums

The error type for this library.

A KeyHolder is metadata that is responsible for verifying the signatures of a role. KeyHolder contains either a Delegations of a Targets or a Root

Specifies the target paths that a delegated role controls.

A role identifier

The type of metadata role.

Traits

Common trait implemented by all roles.

A trait to abstract over the method/protocol by which files are obtained.

Type Definitions

Alias for Result<T, Error>.