[][src]Trait rustls_extra::ClientCertVerifier

pub trait ClientCertVerifier: Send + Sync {
    fn client_auth_root_subjects(&self) -> Vec<PayloadU16>;
fn verify_client_cert(
        &self,
        presented_certs: &[Certificate]
    ) -> Result<ClientCertVerified, TLSError>; fn offer_client_auth(&self) -> bool { ... }
fn client_auth_mandatory(&self) -> bool { ... } }

Something that can verify a client certificate chain

Required methods

fn client_auth_root_subjects(&self) -> Vec<PayloadU16>

Returns the subject names of the client authentication trust anchors to share with the client when requesting client authentication.

fn verify_client_cert(
    &self,
    presented_certs: &[Certificate]
) -> Result<ClientCertVerified, TLSError>

Verify a certificate chain presented_certs is rooted in roots. Does no further checking of the certificate.

Loading content...

Provided methods

fn offer_client_auth(&self) -> bool

Returns true to enable the server to request a client certificate and false to skip requesting a client certificate. Defaults to true.

fn client_auth_mandatory(&self) -> bool

Returns true to require a client certificate and false to make client authentication optional. Defaults to self.offer_client_auth().

Loading content...

Implementors

impl ClientCertVerifier for AllowAnyAnonymousOrAuthenticatedClient[src]

impl ClientCertVerifier for AllowAnyAuthenticatedClient[src]

impl ClientCertVerifier for NoClientAuth[src]

fn client_auth_mandatory(&self) -> bool[src]

Loading content...