1#ifndef QUIC_KEYS_KEYSET_H
2#define QUIC_KEYS_KEYSET_H
14#define QUIC_LEVEL_INITIAL 0
15#define QUIC_LEVEL_HANDSHAKE 1
16#define QUIC_LEVEL_ONERTT 2
17#define QUIC_KEYSET_LEVELS 3
RFC 9001 5.2: Initial packet protection keys derived from the client's Destination Connection ID.
#define QUIC_KEYSET_LEVELS
number of protection levels
Definition keyset.h:17
void quic_keyset_init(quic_keyset *state)
Clear all levels to not-installed.
int quic_keyset_for_level(const quic_keyset *state, int level, const quic_initial_keys **out)
Fetch keys for level into *out.
int quic_keyset_install(quic_keyset *state, int level, const quic_initial_keys *keys)
Install keys at level (0/1/2).
One direction's packet protection keys (RFC 9001 5.1/5.2).
Definition initial.h:28
Per-protection-level key store: one AES-128-GCM key set per level plus an installed flag.
Definition keyset.h:23
int installed[QUIC_KEYSET_LEVELS]
1 once keys[level] is valid
Definition keyset.h:25
quic_initial_keys keys[QUIC_KEYSET_LEVELS]
key/iv/hp per level
Definition keyset.h:24
x86_64 Linux direct syscalls.