pub struct WebPkiServerVerifier {
    roots: Arc<RootCertStore>,
    crls: Vec<CertRevocationList<'static>>,
    revocation_check_depth: RevocationCheckDepth,
    unknown_revocation_policy: UnknownStatusPolicy,
    revocation_expiration_policy: ExpirationPolicy,
    supported: WebPkiSupportedAlgorithms,
}Expand description
Default ServerCertVerifier, see the trait impl for more information.
Fields§
§roots: Arc<RootCertStore>§crls: Vec<CertRevocationList<'static>>§revocation_check_depth: RevocationCheckDepth§unknown_revocation_policy: UnknownStatusPolicy§revocation_expiration_policy: ExpirationPolicy§supported: WebPkiSupportedAlgorithmsImplementations§
Source§impl WebPkiServerVerifier
 
impl WebPkiServerVerifier
Sourcepub fn builder(roots: Arc<RootCertStore>) -> ServerCertVerifierBuilder
 
pub fn builder(roots: Arc<RootCertStore>) -> ServerCertVerifierBuilder
Create a builder for the webpki server certificate verifier configuration using
the process-default CryptoProvider.
Server certificates will be verified using the trust anchors found in the provided roots.
Use Self::builder_with_provider if you wish to specify an explicit provider.
For more information, see the ServerCertVerifierBuilder documentation.
Sourcepub fn builder_with_provider(
    roots: Arc<RootCertStore>,
    provider: Arc<CryptoProvider>,
) -> ServerCertVerifierBuilder
 
pub fn builder_with_provider( roots: Arc<RootCertStore>, provider: Arc<CryptoProvider>, ) -> ServerCertVerifierBuilder
Create a builder for the webpki server certificate verifier configuration using
a specified CryptoProvider.
Server certificates will be verified using the trust anchors found in the provided roots.
The cryptography used comes from the specified CryptoProvider.
For more information, see the ServerCertVerifierBuilder documentation.
Sourcepub(crate) fn new_without_revocation(
    roots: impl Into<Arc<RootCertStore>>,
    supported_algs: WebPkiSupportedAlgorithms,
) -> Self
 
pub(crate) fn new_without_revocation( roots: impl Into<Arc<RootCertStore>>, supported_algs: WebPkiSupportedAlgorithms, ) -> Self
Short-cut for creating a WebPkiServerVerifier that does not perform certificate revocation
checking, avoiding the need to use a builder.
Sourcepub(crate) fn new(
    roots: impl Into<Arc<RootCertStore>>,
    crls: Vec<CertRevocationList<'static>>,
    revocation_check_depth: RevocationCheckDepth,
    unknown_revocation_policy: UnknownStatusPolicy,
    revocation_expiration_policy: ExpirationPolicy,
    supported: WebPkiSupportedAlgorithms,
) -> Self
 
pub(crate) fn new( roots: impl Into<Arc<RootCertStore>>, crls: Vec<CertRevocationList<'static>>, revocation_check_depth: RevocationCheckDepth, unknown_revocation_policy: UnknownStatusPolicy, revocation_expiration_policy: ExpirationPolicy, supported: WebPkiSupportedAlgorithms, ) -> Self
Constructs a new WebPkiServerVerifier.
rootsis the set of trust anchors to trust for issuing server certs.crlsare a vec of owned certificate revocation lists (CRLs) to use for client certificate validation.revocation_check_depthcontrols which certificates have their revocation status checked whencrlsare provided.unknown_revocation_policycontrols how certificates with an unknown revocation status are handled whencrlsare provided.supportedis the set of supported algorithms that will be used for certificate verification and TLS handshake signature verification.
Trait Implementations§
Source§impl Debug for WebPkiServerVerifier
 
impl Debug for WebPkiServerVerifier
Source§impl ServerCertVerifier for WebPkiServerVerifier
 
impl ServerCertVerifier for WebPkiServerVerifier
Source§fn verify_server_cert(
    &self,
    end_entity: &CertificateDer<'_>,
    intermediates: &[CertificateDer<'_>],
    server_name: &ServerName<'_>,
    ocsp_response: &[u8],
    now: UnixTime,
) -> Result<ServerCertVerified, Error>
 
fn verify_server_cert( &self, end_entity: &CertificateDer<'_>, intermediates: &[CertificateDer<'_>], server_name: &ServerName<'_>, ocsp_response: &[u8], now: UnixTime, ) -> Result<ServerCertVerified, Error>
Will verify the certificate is valid in the following ways:
- Signed by a trusted 
RootCertStoreCA - Not Expired
 - Valid for DNS entry
 - Valid revocation status (if applicable).
 
Depending on the verifier’s configuration revocation status checking may be performed for each certificate in the chain to a root CA (excluding the root itself), or only the end entity certificate. Similarly, unknown revocation status may be treated as an error or allowed based on configuration.
Source§fn verify_tls12_signature(
    &self,
    message: &[u8],
    cert: &CertificateDer<'_>,
    dss: &DigitallySignedStruct,
) -> Result<HandshakeSignatureValid, Error>
 
fn verify_tls12_signature( &self, message: &[u8], cert: &CertificateDer<'_>, dss: &DigitallySignedStruct, ) -> Result<HandshakeSignatureValid, Error>
Source§fn verify_tls13_signature(
    &self,
    message: &[u8],
    cert: &CertificateDer<'_>,
    dss: &DigitallySignedStruct,
) -> Result<HandshakeSignatureValid, Error>
 
fn verify_tls13_signature( &self, message: &[u8], cert: &CertificateDer<'_>, dss: &DigitallySignedStruct, ) -> Result<HandshakeSignatureValid, Error>
Source§fn supported_verify_schemes(&self) -> Vec<SignatureScheme>
 
fn supported_verify_schemes(&self) -> Vec<SignatureScheme>
verify_tls12_signature and verify_tls13_signature calls. Read moreSource§fn requires_raw_public_keys(&self) -> bool
 
fn requires_raw_public_keys(&self) -> bool
Source§fn root_hint_subjects(&self) -> Option<&[DistinguishedName]>
 
fn root_hint_subjects(&self) -> Option<&[DistinguishedName]>
DistinguishedNames of certificate authorities that this verifier trusts. Read more