#[non_exhaustive]pub struct TlsConfig {
pub ca_certificate_pem: Option<Vec<u8>>,
pub domain_name: Option<String>,
pub client_identity_pem: Option<(Vec<u8>, Vec<u8>)>,
}Expand description
TLS settings for the gRPC channel.
An empty TlsConfig (from TlsConfig::new) enables server-side TLS using
the platform’s native root certificates. Add a custom CA for private/self-
signed servers, a domain-name override for SNI/verification, and a client
identity for mutual TLS. #[non_exhaustive].
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.ca_certificate_pem: Option<Vec<u8>>Custom CA certificate chain (PEM). When set, replaces the native roots (use for self-signed / private CAs).
domain_name: Option<String>Domain name to verify the server certificate against (SNI). Defaults to the endpoint host.
client_identity_pem: Option<(Vec<u8>, Vec<u8>)>Client identity (certificate_pem, private_key_pem) for mutual TLS.
Implementations§
Source§impl TlsConfig
impl TlsConfig
Trait Implementations§
Auto Trait Implementations§
impl Freeze for TlsConfig
impl RefUnwindSafe for TlsConfig
impl Send for TlsConfig
impl Sync for TlsConfig
impl Unpin for TlsConfig
impl UnsafeUnpin for TlsConfig
impl UnwindSafe for TlsConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request