ServerTLSConfigBuilder

Struct ServerTLSConfigBuilder 

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

A TLS server configuration builder.

Exposes options for configuring a server’s TLS configuration by loading certificates and keys from PEM files on disk, and provides sane defaults for many common options.

§Missing

  • ability to configure TLS key logging
  • ability to configure minimum/maximum TLS protocol versions
  • ability to configure cipher suites and curve preferences

Implementations§

Source§

impl ServerTLSConfigBuilder

Source

pub fn new() -> Self

Creates a new server TLS configuration builder with no certificates or keys configured.

Source

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

Sets the path to the PEM-encoded certificate chain file.

The file may contain a single certificate (leaf) or a full certificate chain (leaf followed by intermediates). All certificates in the file are presented to clients during the TLS handshake.

Source

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

Sets the path to the PEM-encoded private key file.

The private key must correspond to the leaf certificate in the certificate chain.

Source

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

Sets the path to the PEM-encoded CA certificate file used to verify client certificates.

When set, the server requests client certificates and verifies them against the CA certificates in this file, but does not require a client certificate. If the client presents a certificate, it must be valid; if the client presents no certificate, the connection is still accepted.

The file may contain multiple CA certificates in PEM format.

Source

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

Builds the server TLS configuration.

§Errors

If the certificate or key files cannot be read or parsed, 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> 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