Module attestation

Source
Expand description

Attestation types.

An attestation is a cryptographically signed document issued by a Notary who witnessed a TLS connection. It contains various fields which can be used to verify statements about the connection and the associated application data.

Attestations are comprised of two parts: a Header and a Body.

The header is the data structure which is signed by a Notary. It contains a unique identifier, the protocol version, and a Merkle root of the body fields.

The body contains the fields of the attestation. These fields include data which can be used to verify aspects of a TLS connection, such as the server’s identity, and facts about the transcript.

§Extensions

An attestation may be extended using Extension fields included in the body. Extensions (currently) have no canonical semantics, but may be used to implement application specific functionality.

A Prover may append extensions to their attestation request, provided that the Notary supports them (disallowed by default). A Notary may also be configured to validate any extensions requested by a Prover using custom application logic. Additionally, a Notary may include their own extensions.

Structs§

Attestation
An attestation document.
AttestationBuilder
An attestation builder.
AttestationBuilderError
Error for AttestationBuilder.
AttestationConfig
Attestation configuration.
AttestationConfigBuilder
Builder for AttestationConfig.
AttestationConfigError
Error for AttestationConfig.
AttestationError
Error for AttestationProof.
AttestationProof
Proof of an attestation.
Body
Attestation body.
Extension
An attestation extension.
Field
Public attestation field.
FieldId
Identifier for a field.
Header
Attestation header.
InvalidExtension
Invalid extension error.
Uid
Unique identifier for an attestation.
Version
Version of an attestation.

Enums§

FieldKind
Kind of an attestation field.

Constants§

VERSION
Current version of attestations.