pub enum DkimError {
UnsupportedVersion,
UnsupportedAlgorithm,
UnsupportedCanonicalization,
UnsupportedKeyType,
BodyHashMismatch,
AuidMismatch,
PublicKeyRevoked,
SignatureExpired,
BodyLengthTag,
}Expand description
A DKIM1 specific failure, carried by Error::Dkim.
Produced while parsing a DKIM-Signature header or a _domainkey key
record, and while verifying a signature.
Variants§
UnsupportedVersion
The v= tag of the signature is not 1 (RFC 6376, Section 3.5).
UnsupportedAlgorithm
The a= tag names an algorithm this crate does not implement
(supported: rsa-sha256, rsa-sha1 and ed25519-sha256).
UnsupportedCanonicalization
The c= tag names an unknown canonicalization algorithm.
UnsupportedKeyType
The k= tag of the key record names an unknown key type (supported:
rsa and ed25519).
BodyHashMismatch
The body hash computed from the message does not match the bh= tag
(RFC 6376, Section 6.1.3).
AuidMismatch
The domain of the i= tag is not d= or a subdomain of it, or the key
record has t=s and the domains are not identical (RFC 6376,
Section 3.5).
PublicKeyRevoked
The key record has an empty p= tag, meaning the key was revoked
(RFC 6376, Section 3.6.1).
SignatureExpired
The x= expiration time has passed, or is not later than t=
(RFC 6376, Section 3.5).
BodyLengthTag
An l= body length tag was present and strict parsing ignores such
signatures, since content can be appended after the signed length.
Trait Implementations§
impl Eq for DkimError
impl StructuralPartialEq for DkimError
Auto Trait Implementations§
impl Freeze for DkimError
impl RefUnwindSafe for DkimError
impl Send for DkimError
impl Sync for DkimError
impl Unpin for DkimError
impl UnsafeUnpin for DkimError
impl UnwindSafe for DkimError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more