Skip to main content

RustlsConnectorConfig

Struct RustlsConnectorConfig 

Source
pub struct RustlsConnectorConfig { /* private fields */ }
Expand description

Configuration helper for RustlsConnector

Implementations§

Source§

impl RustlsConnectorConfig

Source

pub fn new_with_webpki_root_certs() -> Self

Create a new RustlsConnectorConfig using the webpki-root-certs (requires webpki-root-certs feature enabled)

Source

pub fn new_with_platform_verifier() -> Self

Create a new RustlsConnectorConfig using the rustls-platform-verifier mechanism (requires platform-verifier feature enabled)

Source

pub fn new_with_native_certs() -> Result<Self>

Create a new RustlsConnectorConfig using the system certs (requires native-certs feature enabled)

§Errors

Returns an error if we fail to load the native certs.

Source

pub fn add_parsable_certificates( &mut self, der_certs: Vec<CertificateDer<'static>>, )

Queue the given DER-encoded certificates as additional roots.

Parsing is deferred until the connector is built. Certificates that fail to parse are then skipped in a best-effort fashion, because large collections of root certificates often include ancient or syntactically invalid certificates.

The one exception is with_platform_verifier: the platform verifier rejects unparsable extra roots outright, so a single bad certificate makes building the connector fail.

Source

pub fn with_parsable_certificates( self, der_certs: Vec<CertificateDer<'static>>, ) -> Self

Queue the given DER-encoded certificates as additional roots.

Chainable variant of add_parsable_certificates; see it for the parsing semantics.

Source

pub fn with_webpki_root_certs(self) -> Self

Add certs from webpki-root-certs (requires webpki-root-certs feature enabled)

Source

pub fn with_platform_verifier(self) -> Self

Use the rustls-platform-verifier mechanism (requires platform-verifier feature enabled)

Source

pub fn with_native_certs(self) -> Result<Self>

Add the system certs (requires native-certs feature enabled)

§Errors

Returns an error if we fail to load the native certs.

Source

pub fn connector_with_no_client_auth(self) -> Result<RustlsConnector>

Create a new RustlsConnector from this config and no client certificate

§Errors

Returns an error if we fail to init our verifier or if no valid root certificate could be loaded

§Panics

Panics if rustls cannot determine a crypto provider, i.e. if no process-level default has been installed and the enabled crate features select zero or more than one provider.

Source

pub fn connector_with_single_cert( self, cert_chain: Vec<CertificateDer<'static>>, key_der: PrivateKeyDer<'static>, ) -> Result<RustlsConnector>

Create a new RustlsConnector from this config and the given client certificate

cert_chain is a vector of DER-encoded certificates. key_der is a DER-encoded RSA, ECDSA, or Ed25519 private key.

§Errors

Returns an error if we fail to init our verifier, if no valid root certificate could be loaded, or if key_der is invalid.

§Panics

Panics if rustls cannot determine a crypto provider, i.e. if no process-level default has been installed and the enabled crate features select zero or more than one provider.

Trait Implementations§

Source§

impl Clone for RustlsConnectorConfig

Source§

fn clone(&self) -> RustlsConnectorConfig

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for RustlsConnectorConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for RustlsConnectorConfig

Source§

fn default() -> RustlsConnectorConfig

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.