#[non_exhaustive]pub enum Error {
Show 25 variants
BadDer,
BadDerTime,
CaUsedAsEndEntity,
CertExpired,
CertNotValidForName,
CertNotValidYet,
EndEntityUsedAsCa,
ExtensionValueInvalid,
InvalidCertValidity,
InvalidNetworkMaskConstraint,
InvalidSignatureForPublicKey,
MalformedExtensions,
MaximumNameConstraintComparisonsExceeded,
MaximumPathBuildCallsExceeded,
MaximumPathDepthExceeded,
MaximumSignatureChecksExceeded,
NameConstraintViolation,
PathLenConstraintViolated,
RequiredEkuNotFound,
SignatureAlgorithmMismatch,
UnknownIssuer,
UnsupportedCertVersion,
UnsupportedCriticalExtension,
UnsupportedSignatureAlgorithm,
UnsupportedSignatureAlgorithmForPublicKey,
}
Expand description
An error that occurs during certificate validation or name validation.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
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.
InvalidNetworkMaskConstraint
A iPAddress name constraint was invalid:
- it had a sparse network mask (ie, cannot be written in CIDR form).
- it was too long or short
InvalidSignatureForPublicKey
The signature is invalid for the given public key.
MalformedExtensions
The certificate extensions are 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.
MaximumNameConstraintComparisonsExceeded
The maximum number of name constraint comparisons has been reached.
MaximumPathBuildCallsExceeded
The maximum number of internal path building calls has been reached. Path complexity is too great.
MaximumPathDepthExceeded
The path search was terminated because it became too deep.
MaximumSignatureChecksExceeded
The maximum number of signature checks has been reached. Path complexity is too great.
NameConstraintViolation
The certificate violates one or more name constraints.
PathLenConstraintViolated
The certificate violates one or more path length constraints.
RequiredEkuNotFound
The certificate is not valid for the Extended Key Usage for which it is being validated.
SignatureAlgorithmMismatch
The algorithm in the TBSCertificate “signature” field of a certificate does not match the algorithm in the signature of the certificate.
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.
UnsupportedCriticalExtension
The certificate contains an unsupported critical extension.
UnsupportedSignatureAlgorithm
The signature algorithm for a signature is not in the set of supported signature algorithms given.
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).
Trait Implementations§
source§impl Error for Error
impl Error for Error
Requires the std
feature.