Module provider
Available on crate features
quic and std only.Expand description
Interfaces for supplying a QUIC TLS 1.3 implementation.
Implement provider::ClientConfig and provider::ServerConfig and pass them to
crate::ClientConfig::new and crate::ServerConfig::new. The latter also
accepts a custom address-token key, so no built-in crypto feature is required.
A provider encodes local provider::TransportParameters into its TLS extension and
decodes its peer’s extension with provider::TransportParameters::read.
Sessions must preserve the order of provider::HandshakeEvent values, distinguish read
and write keys, and report TLS failures through Rama’s transport error types.
Structs§
- Crypto
Error - Generic crypto errors. cryptographic operation failed
- Directional
Keys - Packet and header protection for one direction.
- Export
Keying Material Error - The requested output length exceeds the exporter’s limit. failed to export keying material
- KeyPair
- A pair of keys for bidirectional communication
- Keys
- Write keys become available before read keys on a TLS server.
- Transport
Parameters - Transport parameters used to negotiate connection-level preferences between peers
- Unsupported
Version - Error indicating that the specified QUIC version is not supported
Enums§
- Encryption
Level - Packet number space identifiers
- Handshake
Event - Ordered TLS output and packet-key installation events.
- Initial
Keys Error - Transport
Parameters Error - Errors encountered while decoding
TransportParameters
Traits§
- AeadKey
- A key for sealing data with AEAD-based algorithms
- Client
Config - Client-side configuration for the crypto protocol
- Handshake
Token Key - A pseudo random key for HKDF
- Header
Key - Keys used to protect packet headers
- Packet
Key - Keys used to protect packet payloads
- Server
Config - Server-side configuration for the crypto protocol
- Session
- A cryptographic session (commonly TLS)