pub struct GrpcTlsOptions {
pub cert_pem: Vec<u8>,
pub key_pem: Vec<u8>,
pub client_ca_pem: Option<Vec<u8>>,
}Expand description
PEM-encoded TLS material for gRPC’s tonic-rustls server.
The server identity is required (cert + key); the optional client-CA enables mTLS — when present, tonic verifies and requires a client cert chain that anchors at this CA bundle.
Fields§
§cert_pem: Vec<u8>PEM bytes for the server certificate chain (leaf first).
key_pem: Vec<u8>PEM bytes for the server private key (PKCS#8 / SEC1 / RSA).
client_ca_pem: Option<Vec<u8>>Optional PEM bytes for the trust anchor used to verify
client certificates. When Some(_), the server requires
every client to present a cert that chains to this CA;
when None, the server runs one-way TLS only.
Implementations§
Source§impl GrpcTlsOptions
impl GrpcTlsOptions
Sourcepub fn to_tonic_config(&self) -> Result<ServerTlsConfig, Box<dyn Error>>
pub fn to_tonic_config(&self) -> Result<ServerTlsConfig, Box<dyn Error>>
Build a tonic ServerTlsConfig from PEM bytes, applying
rustls defaults (TLS 1.2 + 1.3 — older versions are not
negotiable on tokio-rustls 0.26).
Trait Implementations§
Source§impl Clone for GrpcTlsOptions
impl Clone for GrpcTlsOptions
Source§fn clone(&self) -> GrpcTlsOptions
fn clone(&self) -> GrpcTlsOptions
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for GrpcTlsOptions
impl RefUnwindSafe for GrpcTlsOptions
impl Send for GrpcTlsOptions
impl Sync for GrpcTlsOptions
impl Unpin for GrpcTlsOptions
impl UnsafeUnpin for GrpcTlsOptions
impl UnwindSafe for GrpcTlsOptions
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§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