Crate tough[−][src]
Expand description
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
Provides a RepositoryEditor
object for building and editing TUF repositories.
Contains the error type for this library.
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.
Provides the schema objects as defined by the TUF spec.
Provides the Sign
trait which abstracts over the method of signing with different key types.
Structs
A Transport that provides support for both local files and, if the http
feature is enabled,
HTTP-transported files.
Provides a Transport
for local files.
Limits used when fetching repository metadata.
A TUF repository.
A builder for settings with which to load a Repository
. Required settings are provided in
the RepositoryLoader::new
function. Optional parameters can be added after calling new.
Finally, call RepositoryLoader::load
to load the Repository
.
The error type that Transport::fetch
returns.
Enums
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.
The kind of error that the transport object experienced during fetch
.
Traits
A trait to abstract over the method/protocol by which files are obtained.