code wiki / (root) / nx_tls13_server_session_recv_cf.nx

nx_tls13_server_session_recv_cf.nx

buildroot/runtime/nx_tls13_server_session_recv_cf.nx

9225 B223 linesdepth 11pulls 36 transitivereach 29 importersview sourcekind librarytopic tls13
docsdependenciesstructsconstsfunctions

about

nx_tls13_server_session_recv_cf.nx -- 8th (final) TLS server stone. Receives the client Finished record (AEAD-encrypted under client_hs_traffic_key + iv), verifies the HMAC against the server's transcript-snapshot, then derives application traffic keys per RFC 8446 ยง7.1. Closes the loopback-class TLS 1.3 server handshake arc. Steps: 1. Parse record header (must be type=0x17 app_data) 2. AEAD decrypt with c_hs_traffic_key + iv + client_seq 3. Inner type must be CT_HANDSHAKE; payload must be HT_FINISHED 4. Recompute expected verify_data = HMAC(finished_key_c, transcript) 5. Constant-time compare against received verify_data 6. On match: derive master_secret + app traffic secrets + keys 7. State -> CONNECTED Precondition: state == SF_SENT (server has emitted its Finished) Postcondition on success: state == CONNECTED license_tier: ORIGINAL

dependencies 8 imports · 8 importers

nx_syscalls.nx nx_hmac.nx nx_tls13.nx nx_tls13_kdf.nx nx_tls13_record.nx nx_tls13_transcript.nx nx_hkdf.nx nx_tls13_server_session.nx nx_tls13_server_session_recv_c nx_edge_daemon.nx nx_edge_serve_static_test.nx nx_pages_https_daemon.nx nx_tls13_server_full_handshake_tes nx_tls13_server_session_app_data_t nx_tls13_server_session_recv_cf_te nx_tls13_server_session_run.nx nx_tls13_server_session_run_h2.nx

imports: nx_syscalls.nxnx_hmac.nxnx_tls13.nxnx_tls13_kdf.nxnx_tls13_record.nxnx_tls13_transcript.nxnx_hkdf.nxnx_tls13_server_session.nx

imported by: nx_edge_daemon.nxnx_edge_serve_static_test.nxnx_pages_https_daemon.nxnx_tls13_server_full_handshake_test.nxnx_tls13_server_session_app_data_test.nxnx_tls13_server_session_recv_cf_test.nxnx_tls13_server_session_run.nxnx_tls13_server_session_run_h2.nx

structs

none

consts

32const NX_TLS13_CF_VERIFY_LEN: i64 = 32
33const NX_TLS13_CF_REC_HEADER: i64 = 5
34const NX_TLS13_CF_REC_TAG: i64 = 16

functions

37func cf_ct_eq_32(a: *u8, b: *u8) -> i64
50func nx_tls13_server_session_recv_cf(