#[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
Sourcepub fn with_ca_certificate(self, ca_pem: impl Into<Vec<u8>>) -> Self
pub fn with_ca_certificate(self, ca_pem: impl Into<Vec<u8>>) -> Self
Trust this PEM CA certificate (chain) instead of the native roots.
Sourcepub fn with_domain_name(self, domain: impl Into<String>) -> Self
pub fn with_domain_name(self, domain: impl Into<String>) -> Self
Override the domain name the server certificate is verified against.
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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::RequestSource§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