Skip to main content

VerificationError

Enum VerificationError 

Source
pub enum VerificationError {
    NoSignaturesField,
    MissingIssuerField,
    MissingSignatureField,
    RecordSerializationFailed {
        error: EncodeError,
    },
    SignatureVerificationFailed {
        error: Error,
    },
    NoValidSignatureForIssuer {
        issuer: String,
    },
    InvalidSignatureObjectType,
    SignatureObjectMissingField {
        field: String,
    },
    KeyOperationFailed {
        error: KeyError,
    },
    SignatureDecodingFailed {
        error: DecodeError,
    },
    CryptographicValidationFailed {
        error: KeyError,
    },
}
Expand description

Errors that can occur during record signature creation and verification.

This enum covers all failure modes in the signature lifecycle, from creating signatures with missing metadata fields to verifying signatures with invalid cryptographic proofs or serialization failures.

Variants§

§

NoSignaturesField

Error when no signatures field is found in the record.

This error occurs when a record does not contain either a “signatures” or “sigs” field, which is required for signature verification.

§

MissingIssuerField

Error when issuer field is missing from a signature object.

This error occurs when a signature object in the signatures array does not contain the required “issuer” field.

§

MissingSignatureField

Error when signature field is missing from a signature object.

This error occurs when a signature object in the signatures array does not contain the required “signature” field.

§

RecordSerializationFailed

Error when record serialization fails.

This error occurs when the signed record cannot be serialized to IPLD CBOR format for signature verification.

Fields

§error: EncodeError

The underlying serialization error

§

SignatureVerificationFailed

Error when signature verification fails.

This error occurs when the cryptographic verification of the signature against the signed record fails, indicating the signature is invalid for the given data and public key.

Fields

§error: Error

The underlying verification error

§

NoValidSignatureForIssuer

Error when no valid signature is found for the specified issuer.

This error occurs when none of the signatures in the record belong to the specified issuer, or when all signatures from the issuer fail verification.

Fields

§issuer: String

The issuer DID for which no valid signature was found

§

InvalidSignatureObjectType

Error when signature object is not a valid JSON object.

This error occurs when the provided signature object parameter is not a JSON object type, which is required for signature creation.

§

SignatureObjectMissingField

Error when signature object is missing required fields.

This error occurs when the signature object is missing fields that are necessary during signature creation, such as ‘issuer’.

Fields

§field: String

The name of the missing field

§

KeyOperationFailed

Error when cryptographic key operations fail.

This error occurs when key-related operations such as signing or key parsing fail during signature creation or verification.

Fields

§error: KeyError

The underlying key operation error

§

SignatureDecodingFailed

Error when signature decoding fails.

This error occurs when the multibase-encoded signature cannot be decoded, typically due to invalid encoding format.

Fields

§error: DecodeError

The underlying multibase decoding error

§

CryptographicValidationFailed

Error when cryptographic signature validation fails.

This error occurs when the cryptographic validation of the signature fails, indicating either an invalid signature or mismatched key/data.

Fields

§error: KeyError

The underlying validation error

Trait Implementations§

Source§

impl Debug for VerificationError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for VerificationError

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for VerificationError

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<EncodeError> for VerificationError

Source§

fn from(source: EncodeError) -> Self

Converts to this type from the input type.
Source§

impl From<KeyError> for VerificationError

Source§

fn from(source: KeyError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T> ToStringFallible for T
where T: Display,

Source§

fn try_to_string(&self) -> Result<String, TryReserveError>

ToString::to_string, but without panic on OOM.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more