Module client
Expand description
TLS implementation agnostic client types
ClientHello
is used in Rama as the implementation agnostic type
to convey what client hello was set by the incoming TLS Connection,
if the server middleware is configured to store it.
By being implementation agnostic we have the advantage to be able to bridge easily between different implementations. Making it possible to run for example a Rustls proxy service but establish connections using BoringSSL.
Structs§
- Client
Auth Data - Raw private key and certificate data to facilitate client authentication.
- Client
Config - Common API to configure a TLS Client
- Client
Config Chain - Client
Hello - When a client first connects to a server, it is required to send the ClientHello as its first message.
- Negotiated
TlsParameters - Indicate (some) of the negotiated tls parameters that can be added to the service context by Tls implementations.
- Proxy
Client Config - Common API to configure a Proxy TLS Client
Enums§
- Client
Auth - The kind of client auth to be used.
- Client
Hello Extension - Extensions that can be set in a
ClientHello
message by a TLS client. - ECHClient
Hello - Client Hello contents send by ech
- Server
Verify Mode - Mode of server verification by a (tls) client
Functions§
- append_
all_ client_ configs_ to_ ctx - append_
client_ config_ to_ ctx - extract_
client_ config_ from_ ctx - merge_
client_ hello_ lists - Merge extension lists A and B, with B overwriting any conflict with A, and otherwise push it to the back.
- parse_
client_ hello - Parse a
ClientHello
from the raw “wire” bytes.