nx_tls13_server_session_emit_ee.nx
buildroot/runtime/nx_tls13_server_session_emit_ee.nx
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
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
| 30 | const NX_TLS13_EE_INNER_LEN: i64 = 6 // HT + u24 + ext_list_len |
| 31 | const NX_TLS13_REC_HEADER: i64 = 5 |
| 32 | const NX_TLS13_REC_TAG: i64 = 16 |
functions
| 34 | func nx_tls13_server_session_emit_ee( |