Struct TlsAcceptorData
pub struct TlsAcceptorData { /* private fields */ }boring only.Expand description
Internal data used as configuration/input for the super::TlsAcceptorService.
Implementations§
§impl TlsAcceptorData
impl TlsAcceptorData
pub fn issues_certificates(&self) -> bool
pub fn issues_certificates(&self) -> bool
Whether certificates are issued per handshake, which needs its ClientHello first.
pub async fn issue_certificate(
&self,
client_hello: &ClientHello,
) -> Result<IssuedCertificate, Box<dyn Error + Sync + Send>>
pub async fn issue_certificate( &self, client_hello: &ClientHello, ) -> Result<IssuedCertificate, Box<dyn Error + Sync + Send>>
Issue the certificate client_hello asks for, or reuse it from the issuer’s cache.
The identity is the ClientHello’s server name, else the issuer’s fallback identity.
For TLS stacks that cannot wait on issuance in the middle of a handshake, such as
QUIC’s: install the result on the session before it starts, over a context from
Self::acceptor_builder_without_identity. A fixed identity is returned as is.
pub async fn reusable_certificate(
&self,
client_hello: &ClientHello,
) -> Option<IssuedCertificate>
pub async fn reusable_certificate( &self, client_hello: &ClientHello, ) -> Option<IssuedCertificate>
The certificate Self::issue_certificate hands out for client_hello without
issuing one: the fixed identity, or a valid one the issuer’s cache holds.
The result holds the certificate itself, so a later eviction cannot change it.
pub fn acceptor_builder_without_identity(
&self,
) -> Result<SslAcceptorBuilder, Box<dyn Error + Sync + Send>>
pub fn acceptor_builder_without_identity( &self, ) -> Result<SslAcceptorBuilder, Box<dyn Error + Sync + Send>>
A server context builder with every setting of this configuration but its identity,
which is installed per session instead; see Self::issue_certificate.
pub fn into_static_acceptor_builder(
self,
) -> Result<SslAcceptorBuilder, Box<dyn Error + Sync + Send>>
pub fn into_static_acceptor_builder( self, ) -> Result<SslAcceptorBuilder, Box<dyn Error + Sync + Send>>
Prepare a server context with a fixed identity, without starting a transport.
Certificate issuers require the asynchronous acceptor path and are rejected here;
see Self::issue_certificate.
Trait Implementations§
§impl Clone for TlsAcceptorData
impl Clone for TlsAcceptorData
§fn clone(&self) -> TlsAcceptorData
fn clone(&self) -> TlsAcceptorData
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for TlsAcceptorData
impl Debug for TlsAcceptorData
§impl TryFrom<&TlsServerConfig> for TlsAcceptorData
impl TryFrom<&TlsServerConfig> for TlsAcceptorData
§fn try_from(
value: &TlsServerConfig,
) -> Result<TlsAcceptorData, <TlsAcceptorData as TryFrom<&TlsServerConfig>>::Error>
fn try_from( value: &TlsServerConfig, ) -> Result<TlsAcceptorData, <TlsAcceptorData as TryFrom<&TlsServerConfig>>::Error>
§impl TryFrom<BoringTlsAcceptorConfig<'_>> for TlsAcceptorData
impl TryFrom<BoringTlsAcceptorConfig<'_>> for TlsAcceptorData
§fn try_from(
value: BoringTlsAcceptorConfig<'_>,
) -> Result<TlsAcceptorData, <TlsAcceptorData as TryFrom<BoringTlsAcceptorConfig<'_>>>::Error>
fn try_from( value: BoringTlsAcceptorConfig<'_>, ) -> Result<TlsAcceptorData, <TlsAcceptorData as TryFrom<BoringTlsAcceptorConfig<'_>>>::Error>
Build TlsAcceptorData from the gathered common pieces.
Auto Trait Implementations§
impl !Freeze for TlsAcceptorData
impl !RefUnwindSafe for TlsAcceptorData
impl !UnwindSafe for TlsAcceptorData
impl Send for TlsAcceptorData
impl Sync for TlsAcceptorData
impl Unpin for TlsAcceptorData
impl UnsafeUnpin for TlsAcceptorData
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§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
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,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§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> ⓘ
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> ⓘ
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 more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more