Uses of Package
io.github.mahmoudimus.quic.tls
Packages that use io.github.mahmoudimus.quic.tls
Package
Description
A dependency-free QUIC transport (RFC 9000, 9001, 9002, 9221, 9369).
The sans-I/O QUIC connection and endpoint, ported from quinn-proto: the
Connection state machine (handshake, packet assembly and
processing, key updates, closing and draining), the Endpoint that routes datagrams and answers with Version
Negotiation, Retry and stateless resets, their configurations (TransportConfig, ServerConfig, ClientConfig, EndpointConfig), and the building blocks they are made of:
range sets (RangeSet), reassembly of received data
(Assembler), buffering of sent data (SendBuffer), streams and flow control (StreamsState), packet number spaces and ACK generation
(PacketSpace), loss detection (Recovery), pacing (Pacer), path MTU discovery (MtuDiscovery) and timers (TimerTable).A TLS 1.3 handshake (RFC 8446) for QUIC (RFC 9001), client and server, ported from rustls with
quinn's session interface.
-
Classes in io.github.mahmoudimus.quic.tls used by io.github.mahmoudimus.quicClassDescriptionThe (EC)DHE groups the handshake offers and accepts for key exchange (RFC 8446 section 4.2.7).
-
Classes in io.github.mahmoudimus.quic.tls used by io.github.mahmoudimus.quic.connectionClassDescriptionWhere a client keeps session tickets between connections, by server.Configuration for TLS 1.3 handshakes in QUIC, shared by any number of
TlsSessions.A TLS 1.3 handshake for QUIC (RFC 9001), as a sans-I/O state machine modelled on quinn'scrypto::Session. -
Classes in io.github.mahmoudimus.quic.tls used by io.github.mahmoudimus.quic.tlsClassDescriptionA certificate chain, end-entity certificate first, and the private key for that certificate: what a server, or a client asked for a certificate, presents and signs with.Whether a server asks clients for a certificate (RFC 8446 section 4.3.2).What a server's certificate and ALPN selectors see of a ClientHello.Where a client keeps session tickets between connections, by server.A resuming client's offer of 0-RTT data, as an
EarlyDataPolicysees it.Decides, on a server, whether to accept the 0-RTT data a resuming client offers.The (EC)DHE groups the handshake offers and accepts for key exchange (RFC 8446 section 4.2.7).A session ticket a client received in a NewSessionTicket message (RFC 8446 section 4.6.1), with what it needs to resume the session: the pre-shared key derived from the resumption master secret, the cipher suite, the ticket age obfuscation, and for 0-RTT the ALPN protocol and the server's QUIC transport parameters, which a client must remember and use for its early data (RFC 9000 section 7.4.1).The signature schemes (RFC 8446 section 4.2.3) the handshake knows.A stateless session ticket encrypter for a server (RFC 8446 section 4.6.1, RFC 5077 section 4): the session state is sealed into the ticket with AES-256-GCM under a server key, so the server keeps nothing per session.Configuration for TLS 1.3 handshakes in QUIC, shared by any number ofTlsSessions.Builds aTlsConfig.A TLS 1.3 handshake for QUIC (RFC 9001), as a sans-I/O state machine modelled on quinn'scrypto::Session.