[][src]Crate tough

Tough is a client library for TUF repositories.

This client adheres to TUF version 1.0.0, with the following exceptions:

  • Delegated roles (and TAP 3) are not yet supported.
  • TAP 4 (multiple repository consensus) is not yet supported.

Testing

Unit tests are run in the usual manner: cargo test. Integration tests require docker and are disabled by default behind a feature named integ. To run all tests, including integration tests: cargo test --all-features or cargo test --features 'http,integ'.

Modules

editor

Provides a RepositoryEditor object for building and editing TUF repositories.

error

Contains the error type for this library.

key_source

Provides an abstraction over the source of a signing key. This allows signing keys to be obtained, for example, from local files or from cloud provider key stores.

schema

Provides the schema objects as defined by the TUF spec.

sign

Provides the Sign trait which abstracts over the method of signing with different key types.

Structs

FilesystemTransport

Provides a Transport for local files.

Limits

Limits used when fetching repository metadata.

Repository

A TUF repository.

Settings

Repository fetch settings, provided to Repository::load.

Enums

ExpirationEnforcement

Represents whether a Repository should fail to load when metadata is expired (Safe) or whether it should ignore expired metadata (Unsafe). Only use Unsafe if you are sure you need it.

Traits

Transport

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