pub struct CertificateInfo {
pub issuer: String,
pub subject: String,
pub valid_from: DateTime<Utc>,
pub valid_until: DateTime<Utc>,
pub days_until_expiry: i64,
pub is_valid: bool,
pub hostname_verified: bool,
}Expand description
SSL certificate information
Fields§
§issuer: StringCertificate issuer (e.g., “Let’s Encrypt”)
subject: StringCertificate subject (the domain it’s issued for)
valid_from: DateTime<Utc>Certificate validity start date
valid_until: DateTime<Utc>Certificate expiration date
days_until_expiry: i64Days until certificate expires
is_valid: boolWhether the certificate is currently valid
hostname_verified: boolWhether the certificate’s SAN/CN matches the queried hostname.
This is an additive signal independent of is_valid (which reflects
only date-range validity). Because cert inspection uses
danger_accept_invalid_certs(true) to see certs on mildly-broken
sites, hostname verification is performed manually after extraction.
Trait Implementations§
Source§impl Clone for CertificateInfo
impl Clone for CertificateInfo
Source§fn clone(&self) -> CertificateInfo
fn clone(&self) -> CertificateInfo
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 moreSource§impl Debug for CertificateInfo
impl Debug for CertificateInfo
Source§impl<'de> Deserialize<'de> for CertificateInfo
impl<'de> Deserialize<'de> for CertificateInfo
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 CertificateInfo
impl RefUnwindSafe for CertificateInfo
impl Send for CertificateInfo
impl Sync for CertificateInfo
impl Unpin for CertificateInfo
impl UnsafeUnpin for CertificateInfo
impl UnwindSafe for CertificateInfo
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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