nx_tls12_record.nx
buildroot/runtime/nx_tls12_record.nx
about
nx_tls12_record.nx -- TLS 1.2 AES-128-GCM record protection (rung 4 core of the sovereign TLS 1.2 client).
RFC 5246/5288: AEAD record = nonce_explicit(8) || ciphertext || tag(16).
GCM nonce(12) = salt(4, from key_block write_IV) || explicit(8, here the sequence number)
AAD(13) = seq_num(8) || content_type(1) || version(0x0303) || plaintext_len(2)
Composes the RFC-KAT'd nx_aes128_gcm. KAT'd by round-trip + tamper-detect (no network). license_tier: ORIGINAL
dependencies 2 imports · 3 importers
imports: nx_syscalls.nxnx_aes128_gcm.nx
imported by: nx_tls12_client_session.nxnx_tls12_record_gcm_gate.nxnx_tls12_record_test.nx
structs
| none |
consts
| none |
functions
| 9 | func _r12_nonce(salt4: *u8, explicit8: *u8, out12: *u8) -> i64 |
| 17 | func _r12_aad(seq8: *u8, ctype: i64, ptlen: i64, out13: *u8) -> i64 |
| 29 | func tls12_record_seal(key16: *u8, salt4: *u8, seq8: *u8, ctype: i64, pt: *u8, ptlen: i64, out: *u8) -> i64 called by 4: _nx_tls12_run_corenx_tls12_session_sendmainmain calls 4: sys_mmap_r12_nonce_r12_aadnx_aes128_gcm_seal |
| 44 | func tls12_record_open(key16: *u8, salt4: *u8, seq8: *u8, ctype: i64, payload: *u8, plen: i64, ptout: *u8) -> i64 called by 4: _nx_tls12_run_corenx_tls12_session_recvmainmain calls 4: sys_mmap_r12_nonce_r12_aadnx_aes128_gcm_open |