#[non_exhaustive]pub enum X509SvidError {
EmptyChain,
LeafCertificateHasCaFlag,
LeafCertificateHasCrlSign,
LeafCertificateHasKeyCertSign,
LeafCertificatedNoDigitalSignature,
SigningCertificatedNoCa,
SigningCertificatedNoKeyCertSign,
MissingSpiffeId,
InvalidSpiffeId(SpiffeIdError),
Certificate(CertificateError),
PrivateKey(PrivateKeyError),
}
Expand description
An error that may arise trying to parse a X509Svid
from a DER
encoded
chain of certificates and private key.
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.
EmptyChain
The chain of certificates is empty.
LeafCertificateHasCaFlag
‘CA’ flag not allowed in leaf certificate.
LeafCertificateHasCrlSign
‘cRLSign’ not allowed as key usage in leaf certificate.
LeafCertificateHasKeyCertSign
‘keyCertSign’ not allowed as key usage in leaf certificate.
LeafCertificatedNoDigitalSignature
‘digitalSignature’ as key usage must be present in leaf certificate.
SigningCertificatedNoCa
‘CA’ flag must be set in intermediate certificate.
SigningCertificatedNoKeyCertSign
‘keyCertSign’ as key usage must be present in intermediate certificate.
MissingSpiffeId
No URI Subject Alternative Names found.
InvalidSpiffeId(SpiffeIdError)
The URI Subject Alternative Name is not a valid SPIFFE ID.
Certificate(CertificateError)
Error processing or validating the X.509 certificates.
PrivateKey(PrivateKeyError)
Error processing the private key.
Trait Implementations§
Source§impl Debug for X509SvidError
impl Debug for X509SvidError
Source§impl Display for X509SvidError
impl Display for X509SvidError
Source§impl Error for X509SvidError
impl Error for X509SvidError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
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
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Source§impl From<CertificateError> for X509SvidError
impl From<CertificateError> for X509SvidError
Source§fn from(source: CertificateError) -> Self
fn from(source: CertificateError) -> Self
Converts to this type from the input type.
Source§impl From<PrivateKeyError> for X509SvidError
impl From<PrivateKeyError> for X509SvidError
Source§fn from(source: PrivateKeyError) -> Self
fn from(source: PrivateKeyError) -> Self
Converts to this type from the input type.
Source§impl From<SpiffeIdError> for X509SvidError
impl From<SpiffeIdError> for X509SvidError
Source§fn from(source: SpiffeIdError) -> Self
fn from(source: SpiffeIdError) -> Self
Converts to this type from the input type.
Source§impl From<X509SvidError> for GrpcClientError
impl From<X509SvidError> for GrpcClientError
Source§fn from(source: X509SvidError) -> Self
fn from(source: X509SvidError) -> Self
Converts to this type from the input type.
Source§impl PartialEq for X509SvidError
impl PartialEq for X509SvidError
impl StructuralPartialEq for X509SvidError
Auto Trait Implementations§
impl Freeze for X509SvidError
impl RefUnwindSafe for X509SvidError
impl Send for X509SvidError
impl Sync for X509SvidError
impl Unpin for X509SvidError
impl UnwindSafe for X509SvidError
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Mutably borrows from an owned value. Read more
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request