Module crypto

Module crypto 

Source
Expand description

Cryptographic operations and raw public key support Traits and implementations for the QUIC cryptography protocol

The protocol logic in Quinn is contained in types that abstract over the actual cryptographic protocol used. This module contains the traits used for this abstraction layer as well as a single implementation of these traits that uses ring and rustls to implement the TLS protocol support.

Note that usage of any protocol (version) other than TLS 1.3 does not conform to any published versions of the specification, and will not be supported in QUIC v1.

Modules§

certificate_manager
Certificate management Production-ready certificate management for ant-quic
certificate_negotiation
Certificate Type Negotiation Protocol Implementation Certificate Type Negotiation Protocol Implementation
extension_handlers
rustls Extension Handlers for certificate type negotiation Extension Handlers for RFC 7250 Raw Public Keys
pqc
Post-Quantum Cryptography support - always available Post-Quantum Cryptography module for ant-quic
raw_keys
Ed25519 key pair implementation Raw Public Key Support
raw_public_keys
RFC 7250 Raw Public Keys support RFC 7250 Raw Public Keys Support for ant-quic
rustls
TLS interface based on rustls
tls_extension_simulation
TLS Extension Simulation for RFC 7250 Raw Public Keys TLS Extension Simulation for RFC 7250 Raw Public Keys
tls_extensions
TLS Extensions for RFC 7250 certificate type negotiation TLS Extensions for RFC 7250 Raw Public Keys Certificate Type Negotiation

Structs§

CryptoError
Generic crypto errors
ExportKeyingMaterialError
Error returned by Session::export_keying_material.
KeyPair
A pair of keys for bidirectional communication
Keys
A complete set of keys for a certain packet space
UnsupportedVersion
Error indicating that the specified QUIC version is not supported

Traits§

AeadKey
A key for sealing data with AEAD-based algorithms
ClientConfig
Client-side configuration for the crypto protocol
HandshakeTokenKey
A pseudo random key for HKDF
HeaderKey
Keys used to protect packet headers
HmacKey
A key for signing with HMAC-based algorithms
PacketKey
Keys used to protect packet payloads
ServerConfig
Server-side configuration for the crypto protocol
Session
A cryptographic session (commonly TLS)