CredentialErrorKind

Enum CredentialErrorKind 

Source
#[non_exhaustive]
pub enum CredentialErrorKind { ProtocolViolation, UnsupportedExtension, UnsupportedAlgorithm, ConstraintExceeded, InconsistentDetails, KeyNotPresent, VerifyFailed, }
Expand description

Classification of a CredentialError.

The variants in here are mainly used for debug output, and all signify that the processing of the token was not successful. This type can be used to construct a CredentialError.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

ProtocolViolation

Input data contains items that violate a protocol.

This is somewhat fuzzy towards UnsupportedExtension if extension points are not clearly documented or understood in a protocol.

§

UnsupportedExtension

Input data contains items that are understood in principle, but not supported by the implementation.

In the fuzziness towards ProtocolViolation, it is preferred to err on the side of UnsupportedExtension.

§

UnsupportedAlgorithm

Input data uses a COSE algorithm that is not supported by the implementation.

§

ConstraintExceeded

The data looks fine to a point, but exceeds the capacity of the implementation (data or identifier too long).

§

InconsistentDetails

Input data is understood, but self-contradictory.

Example: A COSE encrypted item where the nonce length does not match the algorithm’s requirements.

§

KeyNotPresent

The peer expects to use key material which is not known to this system.

§

VerifyFailed

Data could be processed and keys were found, but cryptographic verification was unsuccessful.

Trait Implementations§

Source§

impl Clone for CredentialErrorDetail

Source§

fn clone(&self) -> CredentialErrorDetail

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CredentialErrorDetail

Source§

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

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

impl From<CredentialErrorDetail> for CredentialError

Source§

fn from(value: CredentialErrorDetail) -> Self

Converts to this type from the input type.
Source§

impl Copy for CredentialErrorDetail

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> Same for T

Source§

type Output = T

Should always be Self
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.