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_: AnySuiteProof 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: ProofPurposePurpose 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: AnyProofOptionsAdditional 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: AnySignatureProof signature.
extra_properties: BTreeMap<String, Value>Extra properties unrelated to the cryptographic suite.