Skip to content

Struct SYN_TLS_Context

ClassList > SYN_TLS_Context

More...

  • #include <syn_tls.h>

Public Attributes

Type Name
uint8_t app_rx_buf
size_t app_rx_head
size_t app_rx_tail
uint8_t client_app_iv
uint8_t client_app_key
uint8_t client_app_secret
uint8_t client_handshake_secret
uint64_t client_seq_num
SYN_TLS_Config config
uint32_t handshake_start_ms
uint8_t master_secret
uint8_t my_privkey
uint8_t my_pubkey
uint8_t peer_pubkey
uint8_t * rx_buf
size_t rx_buf_size
uint8_t rx_content_type
size_t rx_pos
size_t rx_record_len
uint8_t server_app_iv
uint8_t server_app_key
uint8_t server_app_secret
uint8_t server_handshake_secret
uint64_t server_seq_num
SYN_TLS_State state
SYN_SHA256 transcript_hash
uint8_t * tx_buf
size_t tx_buf_size
SYN_Transport * underlying_transport

Detailed Description

TLS 1.3 Engine Context (Caller-owned, zero-heap).

Public Attributes Documentation

variable app_rx_buf

uint8_t SYN_TLS_Context::app_rx_buf[SYN_TLS_RECORD_MAX_PAYLOAD];

Decrypted app data ring buffer


variable app_rx_head

size_t SYN_TLS_Context::app_rx_head;

App data head index


variable app_rx_tail

size_t SYN_TLS_Context::app_rx_tail;

App data tail index


variable client_app_iv

uint8_t SYN_TLS_Context::client_app_iv[12];

Cached client AEAD base IV


variable client_app_key

uint8_t SYN_TLS_Context::client_app_key[SYN_TLS_SECRET_LEN];

Cached client AEAD key


variable client_app_secret

uint8_t SYN_TLS_Context::client_app_secret[SYN_TLS_SECRET_LEN];

Client application traffic secret


variable client_handshake_secret

uint8_t SYN_TLS_Context::client_handshake_secret[SYN_TLS_SECRET_LEN];

Client handshake traffic secret


variable client_seq_num

uint64_t SYN_TLS_Context::client_seq_num;

Encryption record sequence counter


variable config

SYN_TLS_Config SYN_TLS_Context::config;

Engine configuration copy


variable handshake_start_ms

uint32_t SYN_TLS_Context::handshake_start_ms;

Handshake start timestamp


variable master_secret

uint8_t SYN_TLS_Context::master_secret[SYN_TLS_SECRET_LEN];

Master secret


variable my_privkey

uint8_t SYN_TLS_Context::my_privkey[SYN_TLS_SECRET_LEN];

Ephemeral X25519 private key


variable my_pubkey

uint8_t SYN_TLS_Context::my_pubkey[SYN_TLS_SECRET_LEN];

Ephemeral X25519 public key


variable peer_pubkey

uint8_t SYN_TLS_Context::peer_pubkey[SYN_TLS_SECRET_LEN];

Peer ephemeral X25519 public key


variable rx_buf

uint8_t* SYN_TLS_Context::rx_buf;

Caller-owned RX record buffer


variable rx_buf_size

size_t SYN_TLS_Context::rx_buf_size;

RX record buffer capacity


variable rx_content_type

uint8_t SYN_TLS_Context::rx_content_type;

Current record content type


variable rx_pos

size_t SYN_TLS_Context::rx_pos;

Bytes accumulated in rx_buf


variable rx_record_len

size_t SYN_TLS_Context::rx_record_len;

Expected record payload length


variable server_app_iv

uint8_t SYN_TLS_Context::server_app_iv[12];

Cached server AEAD base IV


variable server_app_key

uint8_t SYN_TLS_Context::server_app_key[SYN_TLS_SECRET_LEN];

Cached server AEAD key


variable server_app_secret

uint8_t SYN_TLS_Context::server_app_secret[SYN_TLS_SECRET_LEN];

Server application traffic secret


variable server_handshake_secret

uint8_t SYN_TLS_Context::server_handshake_secret[SYN_TLS_SECRET_LEN];

Server handshake traffic secret


variable server_seq_num

uint64_t SYN_TLS_Context::server_seq_num;

Decryption record sequence counter


variable state

SYN_TLS_State SYN_TLS_Context::state;

Current handshake state


variable transcript_hash

SYN_SHA256 SYN_TLS_Context::transcript_hash;

Running handshake transcript hash


variable tx_buf

uint8_t* SYN_TLS_Context::tx_buf;

Caller-owned TX record buffer


variable tx_buf_size

size_t SYN_TLS_Context::tx_buf_size;

TX record buffer capacity


variable underlying_transport

SYN_Transport* SYN_TLS_Context::underlying_transport;

Wire transport (TCP, UDP, Serial)



The documentation for this class was generated from the following file src/syntropic/net/syn_tls.h