Skip to main content

ClientTLSConfigBuilder

Struct ClientTLSConfigBuilder 

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

A TLS client configuration builder.

Exposes various options for configuring a client’s TLS configuration that would otherwise be cumbersome to configure, and provides sane defaults for many common options.

§Missing

  • ability to configure client authentication

Implementations§

Source§

impl ClientTLSConfigBuilder

Source

pub fn new() -> Self

Source

pub fn with_key_log_file<P: Into<PathBuf>>(self, path: P) -> Self

Enables logging of TLS key material to the given file path.

TLS key material will be logged to the given file path in the NSS Key Log format, which can be used for debugging TLS issues, as well as decrypting captured TLS traffic in tools such as Wireshark.

Newly created files are created with owner read/write permissions on Unix. Existing file permissions are preserved.

Source

pub fn with_max_tls12_resumption_sessions(self, max: usize) -> Self

Sets the maximum number of TLS 1.2 sessions to cache.

Defaults to 8.

Source

pub fn with_root_cert_store(self, store: RootCertStore) -> Self

Sets the root certificate store to use for the client.

Defaults to the “default” root certificate store initialized from the platform. (See load_platform_root_certificates.)

Source

pub fn with_min_tls_version(self, version: TlsMinimumVersion) -> Self

Sets the minimum TLS protocol version to allow for client connections.

Defaults to TLS 1.2.

Source

pub fn danger_accept_invalid_certs(self) -> Self

Disables server certificate verification entirely.

This is inherently insecure and should only be used for local/development connections where the server’s identity is already established through other means (for example, connecting via Unix domain socket to a local process).

Source

pub fn build(self) -> Result<ClientConfig, GenericError>

Builds the client TLS configuration.

§Errors

If the default root cert store (see load_platform_root_certificates) hasn’t been initialized, and a root cert store hasn’t been provided, or if the resulting configuration isn’t FIPS compliant, an error will be returned.

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Track for T

Source§

fn track_resources(self, token: ResourceGroupToken) -> Tracked<Self>

Instruments this type by attaching the given resource group token, returning a Tracked wrapper. Read more
Source§

fn in_current_resource_group(self) -> Tracked<Self>

Instruments this type by attaching the current resource group, returning a Tracked wrapper. 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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more