#[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
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§
Source§impl Debug for TlsConfig
Hand-written so PEM bytes never reach a log. The derived Debug printed
client_identity_pem in full, which is the mutual-TLS private key — one
tracing field capturing a Config was enough to put it in a log
aggregator. Presence and length are what a reader debugging a handshake
actually needs.
impl Debug for TlsConfig
Hand-written so PEM bytes never reach a log. The derived Debug printed
client_identity_pem in full, which is the mutual-TLS private key — one
tracing field capturing a Config was enough to put it in a log
aggregator. Presence and length are what a reader debugging a handshake
actually needs.
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
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>
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>
T in a tonic::Request