#[non_exhaustive]pub struct RustlsProvider { /* private fields */ }Available on crate feature
rustls and (crate features tokio or async-std or smol) only.Expand description
A TlsProvider that uses rustls.
It supports wrapping any reasonable stream type that implements AsyncRead + AsyncWrite.
§Cryptographic providers
The application is responsible for calling CryptoProvider::install_default()
before constructing TlsProvider. If they do not, we will issue a warning,
and install a default (ring) provider.
We choose ring because, of the two builtin providers that ship with rustls, it has the best license. We could instead use aws-lc-rs (for its early MLKEM768 support), but it is still under the old OpenSSL license, which is GPL-incompatible. (Although Arti isn’t under the GPL itself, we are trying to stay compatible with it.)
See the rustls documentation for a list of other rustls cryptography providcers.
Trait Implementations§
Source§impl Clone for RustlsProvider
Available on (crate features native-tls or rustls) and (crate features async-std or tokio or smol) only.
impl Clone for RustlsProvider
Available on (crate features
native-tls or rustls) and (crate features async-std or tokio or smol) only.Source§fn clone(&self) -> RustlsProvider
fn clone(&self) -> RustlsProvider
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 Default for RustlsProvider
Available on (crate features native-tls or rustls) and (crate features async-std or tokio or smol) only.
impl Default for RustlsProvider
Available on (crate features
native-tls or rustls) and (crate features async-std or tokio or smol) only.Source§impl<S> TlsProvider<S> for RustlsProvider
Available on (crate features native-tls or rustls) and (crate features async-std or tokio or smol) only.
impl<S> TlsProvider<S> for RustlsProvider
Available on (crate features
native-tls or rustls) and (crate features async-std or tokio or smol) only.Source§fn tls_connector(&self) -> Self::Connector
fn tls_connector(&self) -> Self::Connector
Return a TLS connector for use with this runtime.
Source§fn supports_keying_material_export(&self) -> bool
fn supports_keying_material_export(&self) -> bool
Return true iff the keying material exporters (RFC 5705) is supported.
Auto Trait Implementations§
impl Freeze for RustlsProvider
impl !RefUnwindSafe for RustlsProvider
impl Send for RustlsProvider
impl Sync for RustlsProvider
impl Unpin for RustlsProvider
impl !UnwindSafe for RustlsProvider
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