nx_tls12_parse.nx
buildroot/runtime/nx_tls12_parse.nx
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
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
| 9 | func _t12_u16(buf: *u8, off: i64) -> i64 { return ((buf[off] as i64) << 8) | (buf[off + 1] as i64) } |
| 14 | func tls12_parse_server_hello(buf: *u8, len: i64, out_random: *u8, out_cipher: *i64) -> i64 |
| 30 | func tls12_parse_server_key_exchange(buf: *u8, len: i64, |
| 56 | func tls12_skx_signed_data(client_random: *u8, server_random: *u8, skx_body: *u8, params_len: i64, out: *u8) -> i64 |