AnyProof

Type Alias AnyProof 

Source
pub type AnyProof = Proof<AnySuite>;
Expand description

Any Data-Integrity proof known by this library.

Aliased Type§

pub struct AnyProof {
    pub context: Option<Context>,
    pub type_: AnySuite,
    pub created: Option<Lexical<DateTimeStamp>>,
    pub verification_method: ReferenceOrOwned<AnySuiteVerificationMethod>,
    pub proof_purpose: ProofPurpose,
    pub expires: Option<Lexical<DateTimeStamp>>,
    pub domains: Vec<String>,
    pub challenge: Option<String>,
    pub nonce: Option<String>,
    pub options: AnyProofOptions,
    pub signature: AnySignature,
    pub extra_properties: BTreeMap<String, Value>,
}

Fields§

§context: Option<Context>

Proof context.

§type_: AnySuite

Proof type.

Also includes the cryptographic suite variant.

§created: Option<Lexical<DateTimeStamp>>

Date a creation of the proof.

§verification_method: ReferenceOrOwned<AnySuiteVerificationMethod>

Verification method.

§proof_purpose: ProofPurpose

Purpose of the proof.

§expires: Option<Lexical<DateTimeStamp>>

Specifies when the proof expires.

§domains: Vec<String>

Conveys one or more security domains in which the proof is meant to be used.

A verifier SHOULD use the value to ensure that the proof was intended to be used in the security domain in which the verifier is operating. The specification of the domain parameter is useful in challenge-response protocols where the verifier is operating from within a security domain known to the creator of the proof.

Example domain values include: domain.example`` (DNS domain), https://domain.example:8443(Web origin),mycorp-intranet(bespoke text string), andb31d37d4-dd59-47d3-9dd8-c973da43b63a` (UUID).

§challenge: Option<String>

Used to mitigate replay attacks.

Used once for a particular domain and window of time. Examples of a challenge value include: 1235abcd6789, 79d34551-ae81-44ae-823b-6dadbab9ebd4, and ruby.

§nonce: Option<String>

Arbitrary string supplied by the proof creator.

One use of this field is to increase privacy by decreasing linkability that is the result of deterministically generated signatures.

§options: AnyProofOptions

Additional proof options required by the cryptographic suite.

For instance, tezos cryptosuites requires the public key associated with the verification method, which is a blockchain account id.

§signature: AnySignature

Proof signature.

§extra_properties: BTreeMap<String, Value>

Extra properties unrelated to the cryptographic suite.