pub enum Error {
Show 20 variants
BadDer,
BadDerTime,
CaUsedAsEndEntity,
CertExpired,
CertNotValidForName,
CertNotValidYet,
EndEntityUsedAsCa,
ExtensionValueInvalid,
InvalidCertValidity,
InvalidSignatureForPublicKey,
NameConstraintViolation,
PathLenConstraintViolated,
SignatureAlgorithmMismatch,
RequiredEkuNotFound,
UnknownIssuer,
UnsupportedCertVersion,
MissingOrMalformedExtensions,
UnsupportedCriticalExtension,
UnsupportedSignatureAlgorithmForPublicKey,
UnsupportedSignatureAlgorithm,
}
Expand description
An error that occurs during certificate validation or name validation.
Variants
BadDer
The encoding of some ASN.1 DER-encoded item is invalid.
BadDerTime
The encoding of an ASN.1 DER-encoded time is invalid.
CaUsedAsEndEntity
A CA certificate is being used as an end-entity certificate.
CertExpired
The certificate is expired; i.e. the time it is being validated for is later than the certificate’s notAfter time.
CertNotValidForName
The certificate is not valid for the name it is being validated for.
CertNotValidYet
The certificate is not valid yet; i.e. the time it is being validated for is earlier than the certificate’s notBefore time.
EndEntityUsedAsCa
An end-entity certificate is being used as a CA certificate.
ExtensionValueInvalid
An X.509 extension is invalid.
InvalidCertValidity
The certificate validity period (notBefore, notAfter) is invalid; e.g. the notAfter time is earlier than the notBefore time.
InvalidSignatureForPublicKey
The signature is invalid for the given public key.
NameConstraintViolation
The certificate violates one or more name constraints.
PathLenConstraintViolated
The certificate violates one or more path length constraints.
SignatureAlgorithmMismatch
The algorithm in the TBSCertificate “signature” field of a certificate does not match the algorithm in the signature of the certificate.
RequiredEkuNotFound
The certificate is not valid for the Extended Key Usage for which it is being validated.
UnknownIssuer
A valid issuer for the certificate could not be found.
UnsupportedCertVersion
The certificate is not a v3 X.509 certificate.
This error may be also reported if the certificate version field is malformed.
MissingOrMalformedExtensions
The certificate extensions are missing or malformed.
In particular, webpki requires the DNS name(s) be in the subjectAltName extension as required by the CA/Browser Forum Baseline Requirements and as recommended by RFC6125.
UnsupportedCriticalExtension
The certificate contains an unsupported critical extension.
UnsupportedSignatureAlgorithmForPublicKey
The signature’s algorithm does not match the algorithm of the public key it is being validated for. This may be because the public key algorithm’s OID isn’t recognized (e.g. DSA), or the public key algorithm’s parameters don’t match the supported parameters for that algorithm (e.g. ECC keys for unsupported curves), or the public key algorithm and the signature algorithm simply don’t match (e.g. verifying an RSA signature with an ECC public key).
UnsupportedSignatureAlgorithm
The signature algorithm for a signature is not in the set of supported signature algorithms given.
Trait Implementations
sourceimpl Error for Error
impl Error for Error
Requires the std
feature.
1.30.0 · sourcefn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
sourcefn backtrace(&self) -> Option<&Backtrace>
fn backtrace(&self) -> Option<&Backtrace>
backtrace
)Returns a stack backtrace, if available, of where this error occurred. Read more
1.0.0 · sourcefn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
impl Copy for Error
impl StructuralPartialEq for Error
Auto Trait Implementations
impl RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnwindSafe for Error
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more