Module client
Available on crate feature
boring only.Expand description
TLS (Boring) client support for Rama.
Modules§
- ech
- ECH GREASE shape controls for client connections.
- handshake
- Prepare a native TLS client session before opening its transport.
- profile
ua - UA adapters above the native TLS connector.
Structs§
- Answer
Mirror - The origin’s cipher (pinned only when the client offered it), the order of its ServerHello and EncryptedExtensions extensions, and (TLS 1.2) whether it answered a ticket offer, for a relay’s ingress handshake.
- Auto
TlsStream - A stream which can be either a secure or a plain stream.
- Boring
Alps - Application-Layer Protocol Settings (ALPS).
- Boring
Cert Compression - Certificate compression algorithms to advertise.
- Boring
Cipher Suites - Cipher suites to offer, in order (may include GREASE / unknown values).
- Boring
Client Hello Padding - ClientHello padding policy; native behavior is used when absent.
- Boring
Delegated Credentials - Delegated credential signature schemes.
- Boring
Encrypted Client Hello - Whether to GREASE the Encrypted ClientHello (ECH) extension.
- Boring
Extension Order - ClientHello extension prefix order; unlisted extensions follow. With GREASE on, an order naming no GREASE codepoint gets the native slots, first and last; an empty order keeps the native layout. Permutation takes precedence over it.
- Boring
Extension Presence - Presence of optional TLS 1.3 ClientHello extensions BoringSSL decides itself.
- Boring
Grease - Whether GREASE values are injected into the ClientHello.
- Boring
Grease Signature Schemes - Whether a GREASE value leads the offered signature schemes.
- Boring
KeyShares - Groups to send key shares for, in order.
- Boring
MaxVersion - Maximum TLS version boring negotiates, overriding the max derived from the supported-versions list.
- Boring
MinVersion - Minimum TLS version boring negotiates, overriding the min derived from the supported-versions list.
- Boring
Ocsp Stapling - Whether to request OCSP stapling (
status_request). - Boring
Permute Extensions - Per-handshake extension permutation, taking precedence over
BoringExtensionOrder. - Boring
Record Size Limit record_size_limitextension value;0omits the extension.- Boring
Requested Trust Anchors - Requested trust anchor identifiers for the
trust_anchorsClientHello extension. - Boring
Server Padding Request - Experimental server certificate padding requested on a fresh SSL.
Noneexplicitly omits the extension;Some(0)requests zero bytes. A new native SSL is configured before its handshake; no live SSL is reset. - Boring
Server Verify Cert Store - Custom
X509Storeused to verify the server certificate (overrides the default OS trust store, unless verification is disabled). - Boring
Signature Schemes - Signature schemes to advertise, in order.
- Boring
Signed Cert Timestamps - Whether to request signed certificate timestamps (SCT).
- Boring
Supported Groups - Supported groups (named curves), in order.
- Boring
Tls12 Session Tickets - Whether to offer TLS 1.2 session tickets (
session_ticket). - Boring
TlsClient Config Provider - Classification of request overrides understood by Boring.
- Boring
TlsConnector Config - Gather all the TLS extensions supported by boringssl
- Boring
TlsStream - A wrapper around an underlying raw stream which implements the SSL protocol.
- Connector
Config Client Auth - Connector
Kind Auto - A connector which can be used to establish a connection to a server in function of the Request, meaning either it will be a seucre connector or it will be a plain connector.
- Connector
Kind Secure - A connector which can only be used to establish a secure connection, regardless of the scheme of the request URI.
- Connector
Kind Tunnel - A connector which can be used to use this connector to support secure https tunnel connections.
- Emulate
TlsProfile Layer - Emulate
TlsProfile Service - Server
Answer Recorder - The ServerHello and EncryptedExtensions one client connection received, recorded by its message callback. A HelloRetryRequest is replaced by the ServerHello after it.
- TlsClient
Session - A resumable client session bound to the policy and server it was established with.
- TlsClient
Session Cache - Bounded in-memory sessions: the newest few per key, evicting the least recently stored key once full.
- TlsClient
Session Domain - Process-unique owner of a set of compatible client session configurations.
- TlsClient
Session Key - Server identity, effective security policy and session domain required for resumption.
- TlsConnector
- A connector which can be used to establish a connection to a server.
- TlsConnector
Context - Shared client configuration, including native context callbacks and session state.
- TlsConnector
Context Builder - Configures a reusable client TLS context before it is shared.
- TlsConnector
Data - The resolved native BoringSSL config consumed by
super::TlsConnector. - TlsConnector
Layer - A
Layerwhich wraps the given service with aTlsConnector.
Enums§
Traits§
- Boring
Client Config Ext - Boring-specific setters for
TlsClientConfig. - TlsClient
Session Store - Keeps client sessions for later resumption.
Functions§
- tls_
connect - Establish a TLS connection with the fully resolved connector data.