14#define LEVEL_INITIAL 0
15#define LEVEL_HANDSHAKE 1
17#define KEYSET_LEVELS 3
RFC 9001 5.2: Initial packet protection keys derived from the client's Destination Connection ID.
int keyset_for_level(const keyset *state, int level, const initial_keys **out)
Fetch keys for level into *out.
#define KEYSET_LEVELS
number of protection levels
Definition keyset.h:17
void keyset_init(keyset *state)
Clear all levels to not-installed.
int keyset_install(keyset *state, int level, const 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[KEYSET_LEVELS]
1 once keys[level] is valid
Definition keyset.h:25
initial_keys keys[KEYSET_LEVELS]
key/iv/hp per level
Definition keyset.h:24