code wiki / (root) / nx_tls13_server_session_emit_ee.nx

nx_tls13_server_session_emit_ee.nx

buildroot/runtime/nx_tls13_server_session_emit_ee.nx

3764 B109 linesdepth 11pulls 32 transitivereach 33 importersview sourcekind librarytopic tls13
docsdependenciesstructsconstsfunctions

about

nx_tls13_server_session_emit_ee.nx -- 6th TLS server stone. Emits a minimal EncryptedExtensions handshake message, AEAD-encrypted under server_hs_traffic_key + iv as a TLS 1.3 record (type=23 application_data wrapper). Inner content (handshake plaintext): HT_ENCRYPTED_EXTENSIONS = 0x08 (1 byte) body_len = 0x000002 (3 bytes, u24 big-endian) extensions_list_len = 0x0000 (2 bytes; no EE extensions in v1) Total = 6 bytes Record format (on wire): header(5 bytes) type=0x17 (app_data) + version=0x0303 + length(2) ciphertext (encrypted plaintext + inner type byte) auth_tag(16 bytes) Precondition: state == EE_SENT (set by derive_hs_secrets; indicates handshake keys are derived and EE is the next message). Postcondition: state == CERT_SENT. license_tier: ORIGINAL

dependencies 5 imports · 12 importers

nx_syscalls.nx nx_tls13.nx nx_tls13_record.nx nx_tls13_transcript.nx nx_tls13_server_session.nx nx_tls13_server_session_emit_e 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_emit_certi nx_tls13_server_session_emit_cv_te nx_tls13_server_session_emit_ee_te nx_tls13_server_session_emit_sf_te nx_tls13_server_session_recv_cf_te

diagram shows first 10 each side; +0 more imports, +2 more importers in the complete lists below.

imports: nx_syscalls.nxnx_tls13.nxnx_tls13_record.nxnx_tls13_transcript.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_emit_certificate_test.nxnx_tls13_server_session_emit_cv_test.nxnx_tls13_server_session_emit_ee_test.nxnx_tls13_server_session_emit_sf_test.nxnx_tls13_server_session_recv_cf_test.nxnx_tls13_server_session_run.nxnx_tls13_server_session_run_h2.nx

structs

none

consts

30const NX_TLS13_EE_INNER_LEN: i64 = 6 // HT + u24 + ext_list_len
31const NX_TLS13_REC_HEADER: i64 = 5
32const NX_TLS13_REC_TAG: i64 = 16

functions

34func nx_tls13_server_session_emit_ee(