pub struct ParsedClientCert {
pub subject_dn: String,
pub common_name: Option<String>,
pub san_rfc822: Vec<String>,
pub serial_hex: String,
pub not_after_unix_secs: i64,
pub extensions: HashMap<String, Vec<u8>>,
}Expand description
Subset of the cert surface the validator consumes. TLS listeners
construct this from their rustls::Certificate payload via an
ASN.1 parser (x509-parser or similar); we model the fields we
actually look at so tests don’t need a real PEM.
Fields§
§subject_dn: String§common_name: Option<String>§san_rfc822: Vec<String>§serial_hex: String§not_after_unix_secs: i64§extensions: HashMap<String, Vec<u8>>Map of X.509 extension OID → raw bytes. Populated for any
extension the parser saw; the validator only looks at
role_oid when configured.
Trait Implementations§
Source§impl Clone for ParsedClientCert
impl Clone for ParsedClientCert
Source§fn clone(&self) -> ParsedClientCert
fn clone(&self) -> ParsedClientCert
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ParsedClientCert
impl RefUnwindSafe for ParsedClientCert
impl Send for ParsedClientCert
impl Sync for ParsedClientCert
impl Unpin for ParsedClientCert
impl UnsafeUnpin for ParsedClientCert
impl UnwindSafe for ParsedClientCert
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
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>
Converts
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 moreSource§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