nquic_protocol_zero_rtt (nquic v1.0.0)

View Source

0-RTT (early data) packet-protection key installation.

Derives and installs the client 0-RTT keys into #conn_state{} for both the resumption-less path (keyed off the ClientHello hash) and the PSK resumption path (keyed off the pre-shared key). RFC 9001 §4.3 / RFC 8446 §7.1 early secret derivation. Behaviour is identical for both entry points except the early-secret input.

Summary

Functions

Install 0-RTT keys derived from the ClientHello hash and cipher.

Install 0-RTT keys with a pre-shared key from session resumption.

Types

cipher()

-type cipher() :: aes_128_gcm | aes_256_gcm | chacha20_poly1305.

Functions

install_zero_rtt_keys(ClientHelloHash, Cipher, State)

-spec install_zero_rtt_keys(binary(), cipher(), nquic_protocol:state()) -> nquic_protocol:state().

Install 0-RTT keys derived from the ClientHello hash and cipher.

install_zero_rtt_keys_psk(PSK, ClientHelloHash, Cipher, State)

-spec install_zero_rtt_keys_psk(binary(), binary(), cipher(), nquic_protocol:state()) ->
                                   nquic_protocol:state().

Install 0-RTT keys with a pre-shared key from session resumption.