pub struct SslReport {
pub domain: String,
pub chain: Vec<CertDetail>,
pub protocol_version: Option<String>,
pub san_names: Vec<String>,
pub is_valid: bool,
pub days_until_expiry: i64,
pub caa: Option<CaaPolicy>,
}Expand description
Full SSL certificate report for a domain.
Fields§
§domain: StringThe domain that was inspected
chain: Vec<CertDetail>Certificate chain from leaf to root (as many as the server provides)
protocol_version: Option<String>TLS protocol version (best-effort detection)
san_names: Vec<String>Subject Alternative Names from the leaf certificate
is_valid: boolWhether the certificate chain is currently valid
days_until_expiry: i64Days until the leaf certificate expires
caa: Option<CaaPolicy>CAA (Certification Authority Authorization) policy for the domain plus a comparison against the presented certificate’s issuer.
CAA is consulted by CAs at issuance time, not by clients at
validation time, so a mismatch here is informational — see the
note field on CaaPolicy.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for SslReport
impl<'de> Deserialize<'de> for SslReport
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for SslReport
impl RefUnwindSafe for SslReport
impl Send for SslReport
impl Sync for SslReport
impl Unpin for SslReport
impl UnsafeUnpin for SslReport
impl UnwindSafe for SslReport
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> 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 more