Struct rustls::server::AllowAnyAuthenticatedClient
source · pub struct AllowAnyAuthenticatedClient { /* private fields */ }
Expand description
A ClientCertVerifier
that will ensure that every client provides a trusted
certificate, without any name checking. Optionally, client certificates will
have their revocation status checked using the DER encoded CRLs provided.
Implementations§
source§impl AllowAnyAuthenticatedClient
impl AllowAnyAuthenticatedClient
sourcepub fn new(roots: RootCertStore) -> Self
pub fn new(roots: RootCertStore) -> Self
Construct a new AllowAnyAuthenticatedClient
.
roots
is the list of trust anchors to use for certificate validation.
sourcepub fn with_crls(
self,
crls: impl IntoIterator<Item = UnparsedCertRevocationList>
) -> Result<Self, CertRevocationListError>
pub fn with_crls( self, crls: impl IntoIterator<Item = UnparsedCertRevocationList> ) -> Result<Self, CertRevocationListError>
Update the verifier to validate client certificates against the provided DER format unparsed certificate revocation lists (CRLs).
sourcepub fn boxed(self) -> Arc<dyn ClientCertVerifier>
pub fn boxed(self) -> Arc<dyn ClientCertVerifier>
Wrap this verifier in an Arc
and coerce it to dyn ClientCertVerifier
Trait Implementations§
source§impl ClientCertVerifier for AllowAnyAuthenticatedClient
impl ClientCertVerifier for AllowAnyAuthenticatedClient
source§fn offer_client_auth(&self) -> bool
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
.source§fn client_auth_root_subjects(&self) -> &[DistinguishedName]
fn client_auth_root_subjects(&self) -> &[DistinguishedName]
source§fn verify_client_cert(
&self,
end_entity: &Certificate,
intermediates: &[Certificate],
now: SystemTime
) -> Result<ClientCertVerified, Error>
fn verify_client_cert( &self, end_entity: &Certificate, intermediates: &[Certificate], now: SystemTime ) -> Result<ClientCertVerified, Error>
Verify the end-entity certificate
end_entity
is valid, acceptable,
and chains to at least one of the trust anchors trusted by
this verifier. Read moresource§fn client_auth_mandatory(&self) -> bool
fn client_auth_mandatory(&self) -> bool
Return
true
to require a client certificate and false
to make
client authentication optional.
Defaults to Some(self.offer_client_auth())
.source§fn verify_tls12_signature(
&self,
message: &[u8],
cert: &Certificate,
dss: &DigitallySignedStruct
) -> Result<HandshakeSignatureValid, Error>
fn verify_tls12_signature( &self, message: &[u8], cert: &Certificate, dss: &DigitallySignedStruct ) -> Result<HandshakeSignatureValid, Error>
Verify a signature allegedly by the given client certificate. Read more
source§fn verify_tls13_signature(
&self,
message: &[u8],
cert: &Certificate,
dss: &DigitallySignedStruct
) -> Result<HandshakeSignatureValid, Error>
fn verify_tls13_signature( &self, message: &[u8], cert: &Certificate, dss: &DigitallySignedStruct ) -> Result<HandshakeSignatureValid, Error>
Verify a signature allegedly by the given client certificate. Read more
source§fn supported_verify_schemes(&self) -> Vec<SignatureScheme>
fn supported_verify_schemes(&self) -> Vec<SignatureScheme>
Return the list of SignatureSchemes that this verifier will handle,
in
verify_tls12_signature
and verify_tls13_signature
calls. Read moreAuto Trait Implementations§
impl RefUnwindSafe for AllowAnyAuthenticatedClient
impl Send for AllowAnyAuthenticatedClient
impl Sync for AllowAnyAuthenticatedClient
impl Unpin for AllowAnyAuthenticatedClient
impl UnwindSafe for AllowAnyAuthenticatedClient
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