wired
libc-free QUIC/HTTP3 SDK in C for x86_64-linux
Loading...
Searching...
No Matches
complete.h
Go to the documentation of this file.
1#ifndef SRVFIN_COMPLETE_H
2#define SRVFIN_COMPLETE_H
3
6
12
19
25
40 srvfin_state* s, const u8* final_transcript, usz final_transcript_len);
41
54 srvfin_state* s, const u8* transcript, usz transcript_len);
55
56#endif
int srvfin_complete(srvfin_state *s, const u8 *final_transcript, usz final_transcript_len)
Advance the key schedule to Master over the final transcript (the handshake messages through the clie...
int srvfin_early_send_keys(srvfin_state *s, const u8 *transcript, usz transcript_len)
Derive and install the server's 1-RTT send keys early, before the client Finished arrives (0....
void srvfin_state_init(srvfin_state *s, keysched *sched, keyset *keys)
Bind the key schedule and key set the completion step operates on.
RFC 8446 7.1: order-driven key schedule.
RFC 9001 4: per-protection-level key sets.
Key schedule state: the current stage, the Master Secret once reached, and the four traffic key sets ...
Definition keyschedule.h:30
Per-protection-level key store: one AES-128-GCM key set per level plus an installed flag.
Definition keyset.h:23
Server handshake-completion state.
Definition complete.h:14
keysched * sched
the key schedule to advance to Master
Definition complete.h:15
keyset * keys
receives the server 1-RTT keys
Definition complete.h:16
int confirmed
1 once the handshake is confirmed
Definition complete.h:17
Cumulative Transcript-Hash state.
Definition transcript.h:11
u64 usz
unsigned size (size_t equivalent)
Definition types.h:20
unsigned char u8
unsigned 8-bit integer / byte
Definition types.h:18