pub struct GlobalCertificate { /* private fields */ }Expand description
GlobalCertificate implements SNI-based dynamic certificate selection
Provides runtime certificate selection during TLS handshake based on the Server Name Indication (SNI). Supports:
- Dynamic certificate updates
- Wildcard certificates
- Default fallback certificates
- Self-signed CA certificates
Implementations§
Source§impl GlobalCertificate
impl GlobalCertificate
pub fn new(provider: Arc<dyn CertificateProvider>) -> Self
Sourcepub fn new_tls_settings(
&self,
params: &TlsSettingParams,
) -> Result<TlsSettings, Error>
pub fn new_tls_settings( &self, params: &TlsSettingParams, ) -> Result<TlsSettings, Error>
New a dynamic certificate from tls setting parameters
Trait Implementations§
Source§impl Clone for GlobalCertificate
impl Clone for GlobalCertificate
Source§fn clone(&self) -> GlobalCertificate
fn clone(&self) -> GlobalCertificate
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl TlsAccept for GlobalCertificate
impl TlsAccept for GlobalCertificate
Source§fn certificate_callback<'life0, 'life1, 'async_trait>(
&'life0 self,
ssl: &'life1 mut SslRef,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn certificate_callback<'life0, 'life1, 'async_trait>(
&'life0 self,
ssl: &'life1 mut SslRef,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
This function is called in the middle of a TLS handshake. Structs who
implement this function should provide tls certificate and key to the
TlsRef via
ssl_use_certificate and ssl_use_private_key.
Note. This is only supported for openssl and boringsslSource§fn handshake_complete_callback<'life0, 'life1, 'async_trait>(
&'life0 self,
_ssl: &'life1 SslRef,
) -> Pin<Box<dyn Future<Output = Option<Arc<dyn Any + Send + Sync>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn handshake_complete_callback<'life0, 'life1, 'async_trait>(
&'life0 self,
_ssl: &'life1 SslRef,
) -> Pin<Box<dyn Future<Output = Option<Arc<dyn Any + Send + Sync>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
This function is called after the TLS handshake is complete. Read more
Auto Trait Implementations§
impl Freeze for GlobalCertificate
impl !RefUnwindSafe for GlobalCertificate
impl Send for GlobalCertificate
impl Sync for GlobalCertificate
impl Unpin for GlobalCertificate
impl UnsafeUnpin for GlobalCertificate
impl !UnwindSafe for GlobalCertificate
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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