code wiki / (root) / nx_tls12_parse.nx

nx_tls12_parse.nx

buildroot/runtime/nx_tls12_parse.nx

3083 B65 linesdepth 2pulls 2 transitivereach 359 importersview sourcekind librarytopic tls12
docsdependenciesstructsconstsfunctions

about

nx_tls12_parse.nx -- TLS 1.2 handshake parsers (rung 2 of the sovereign TLS 1.2 client). Parses the server's 1.2 handshake messages so we can derive keys (rung 3): tls12_parse_server_hello -> server_random(32) + chosen cipher suite tls12_parse_server_key_exchange -> ECDHE named_curve + server pubkey + signature(alg+bytes) (Certificate parsing/validation reuses the existing X.509 pipeline.) Pure byte parsing, no network -- KAT'd by round-trip against a synthetic blob in nx_tls12_parse_test. license_tier: ORIGINAL

dependencies 1 imports · 5 importers

nx_syscalls.nx nx_tls12_parse.nx nx_tls12_client_session.nx nx_tls12_frag_read_gate.nx nx_tls12_parse_test.nx nx_tls12_probe_test.nx nx_tls12_ske_verify.nx

imports: nx_syscalls.nx

imported by: nx_tls12_client_session.nxnx_tls12_frag_read_gate.nxnx_tls12_parse_test.nxnx_tls12_probe_test.nxnx_tls12_ske_verify.nx

structs

none

consts

none

functions

9func _t12_u16(buf: *u8, off: i64) -> i64 { return ((buf[off] as i64) << 8) | (buf[off + 1] as i64) }
14func tls12_parse_server_hello(buf: *u8, len: i64, out_random: *u8, out_cipher: *i64) -> i64
30func tls12_parse_server_key_exchange(buf: *u8, len: i64,
56func tls12_skx_signed_data(client_random: *u8, server_random: *u8, skx_body: *u8, params_len: i64, out: *u8) -> i64