mbedtls_ssl_context
ssl.h
const mbedtls_ssl_config * const mbedtls_ssl_config* mbedtls_ssl_context::conf conf mbedtls_ssl_context::conf

configuration information

int int mbedtls_ssl_context::state state mbedtls_ssl_context::state

SSL handshake: current state

int int mbedtls_ssl_context::renego_status renego_status mbedtls_ssl_context::renego_status

Initial, in progress, pending?

int int mbedtls_ssl_context::renego_records_seen renego_records_seen mbedtls_ssl_context::renego_records_seen

Records since renego request, or with DTLS, number of retransmissions of request if renego_max_records is < 0

int int mbedtls_ssl_context::major_ver major_ver mbedtls_ssl_context::major_ver

equal to MBEDTLS_SSL_MAJOR_VERSION_3

int int mbedtls_ssl_context::minor_ver minor_ver mbedtls_ssl_context::minor_ver

either 0 (SSL3) or 1 (TLS1.0)

unsigned unsigned mbedtls_ssl_context::badmac_seen badmac_seen mbedtls_ssl_context::badmac_seen

records with a bad MAC received

int(* int(* mbedtls_ssl_context::f_vrfy) (void *, mbedtls_x509_crt *, int, uint32_t *) )(void *, mbedtls_x509_crt *, int, uint32_t *) f_vrfy mbedtls_ssl_context::f_vrfy

Callback to customize X.509 certificate chain verification

void * void* mbedtls_ssl_context::p_vrfy p_vrfy mbedtls_ssl_context::p_vrfy

context for X.509 verify callback

mbedtls_ssl_send_t * mbedtls_ssl_send_t* mbedtls_ssl_context::f_send f_send mbedtls_ssl_context::f_send

Callback for network send

mbedtls_ssl_recv_t * mbedtls_ssl_recv_t* mbedtls_ssl_context::f_recv f_recv mbedtls_ssl_context::f_recv

Callback for network receive

mbedtls_ssl_recv_timeout_t * mbedtls_ssl_recv_timeout_t* mbedtls_ssl_context::f_recv_timeout f_recv_timeout mbedtls_ssl_context::f_recv_timeout

Callback for network receive with timeout

void * void* mbedtls_ssl_context::p_bio p_bio mbedtls_ssl_context::p_bio

context for I/O operations

mbedtls_ssl_session * mbedtls_ssl_session* mbedtls_ssl_context::session_in session_in mbedtls_ssl_context::session_in

current session data (in)

mbedtls_ssl_session * mbedtls_ssl_session* mbedtls_ssl_context::session_out session_out mbedtls_ssl_context::session_out

current session data (out)

mbedtls_ssl_session * mbedtls_ssl_session* mbedtls_ssl_context::session session mbedtls_ssl_context::session

negotiated session data

mbedtls_ssl_session * mbedtls_ssl_session* mbedtls_ssl_context::session_negotiate session_negotiate mbedtls_ssl_context::session_negotiate

session data in negotiation

mbedtls_ssl_handshake_params * mbedtls_ssl_handshake_params* mbedtls_ssl_context::handshake handshake mbedtls_ssl_context::handshake

params required only during the handshake process

mbedtls_ssl_transform * mbedtls_ssl_transform* mbedtls_ssl_context::transform_in transform_in mbedtls_ssl_context::transform_in

current transform params (in)

mbedtls_ssl_transform * mbedtls_ssl_transform* mbedtls_ssl_context::transform_out transform_out mbedtls_ssl_context::transform_out

current transform params (in)

mbedtls_ssl_transform * mbedtls_ssl_transform* mbedtls_ssl_context::transform transform mbedtls_ssl_context::transform

negotiated transform params

mbedtls_ssl_transform * mbedtls_ssl_transform* mbedtls_ssl_context::transform_negotiate transform_negotiate mbedtls_ssl_context::transform_negotiate

transform params in negotiation

void * void* mbedtls_ssl_context::p_timer p_timer mbedtls_ssl_context::p_timer

context for the timer callbacks

mbedtls_ssl_set_timer_t * mbedtls_ssl_set_timer_t* mbedtls_ssl_context::f_set_timer f_set_timer mbedtls_ssl_context::f_set_timer

set timer callback

mbedtls_ssl_get_timer_t * mbedtls_ssl_get_timer_t* mbedtls_ssl_context::f_get_timer f_get_timer mbedtls_ssl_context::f_get_timer

get timer callback

unsigned char * unsigned char* mbedtls_ssl_context::in_buf in_buf mbedtls_ssl_context::in_buf

input buffer

unsigned char * unsigned char* mbedtls_ssl_context::in_ctr in_ctr mbedtls_ssl_context::in_ctr

64-bit incoming message counter TLS: maintained by us DTLS: read from peer

unsigned char * unsigned char* mbedtls_ssl_context::in_hdr in_hdr mbedtls_ssl_context::in_hdr

start of record header

unsigned char * unsigned char* mbedtls_ssl_context::in_len in_len mbedtls_ssl_context::in_len

two-bytes message length field

unsigned char * unsigned char* mbedtls_ssl_context::in_iv in_iv mbedtls_ssl_context::in_iv

ivlen-byte IV

unsigned char * unsigned char* mbedtls_ssl_context::in_msg in_msg mbedtls_ssl_context::in_msg

message contents (in_iv+ivlen)

unsigned char * unsigned char* mbedtls_ssl_context::in_offt in_offt mbedtls_ssl_context::in_offt

read offset in application data

int int mbedtls_ssl_context::in_msgtype in_msgtype mbedtls_ssl_context::in_msgtype

record header: message type

size_t size_t mbedtls_ssl_context::in_msglen in_msglen mbedtls_ssl_context::in_msglen

record header: message length

size_t size_t mbedtls_ssl_context::in_left in_left mbedtls_ssl_context::in_left

amount of data read so far

uint16_t uint16_t mbedtls_ssl_context::in_epoch in_epoch mbedtls_ssl_context::in_epoch

DTLS epoch for incoming records

size_t size_t mbedtls_ssl_context::next_record_offset next_record_offset mbedtls_ssl_context::next_record_offset

offset of the next record in datagram (equal to in_left if none)

uint64_t uint64_t mbedtls_ssl_context::in_window_top in_window_top mbedtls_ssl_context::in_window_top

last validated record seq_num

uint64_t uint64_t mbedtls_ssl_context::in_window in_window mbedtls_ssl_context::in_window

bitmask for replay detection

size_t size_t mbedtls_ssl_context::in_hslen in_hslen mbedtls_ssl_context::in_hslen

current handshake message length, including the handshake header

int int mbedtls_ssl_context::nb_zero nb_zero mbedtls_ssl_context::nb_zero

# of 0-length encrypted messages

int int mbedtls_ssl_context::keep_current_message keep_current_message mbedtls_ssl_context::keep_current_message

drop or reuse current message on next call to record layer?

uint8_t uint8_t mbedtls_ssl_context::disable_datagram_packing disable_datagram_packing mbedtls_ssl_context::disable_datagram_packing

Disable packing multiple records within a single datagram.

unsigned char * unsigned char* mbedtls_ssl_context::out_buf out_buf mbedtls_ssl_context::out_buf

output buffer

unsigned char * unsigned char* mbedtls_ssl_context::out_ctr out_ctr mbedtls_ssl_context::out_ctr

64-bit outgoing message counter

unsigned char * unsigned char* mbedtls_ssl_context::out_hdr out_hdr mbedtls_ssl_context::out_hdr

start of record header

unsigned char * unsigned char* mbedtls_ssl_context::out_len out_len mbedtls_ssl_context::out_len

two-bytes message length field

unsigned char * unsigned char* mbedtls_ssl_context::out_iv out_iv mbedtls_ssl_context::out_iv

ivlen-byte IV

unsigned char * unsigned char* mbedtls_ssl_context::out_msg out_msg mbedtls_ssl_context::out_msg

message contents (out_iv+ivlen)

int int mbedtls_ssl_context::out_msgtype out_msgtype mbedtls_ssl_context::out_msgtype

record header: message type

size_t size_t mbedtls_ssl_context::out_msglen out_msglen mbedtls_ssl_context::out_msglen

record header: message length

size_t size_t mbedtls_ssl_context::out_left out_left mbedtls_ssl_context::out_left

amount of data not yet written

unsigned char unsigned char mbedtls_ssl_context::cur_out_ctr[8] [8] cur_out_ctr mbedtls_ssl_context::cur_out_ctr

Outgoing record sequence number.

uint16_t uint16_t mbedtls_ssl_context::mtu mtu mbedtls_ssl_context::mtu

path mtu, used to fragment outgoing messages

signed char signed char mbedtls_ssl_context::split_done split_done mbedtls_ssl_context::split_done

current record already split?

int int mbedtls_ssl_context::client_auth client_auth mbedtls_ssl_context::client_auth

flag for client auth.

char * char* mbedtls_ssl_context::hostname hostname mbedtls_ssl_context::hostname

expected peer CN for verification (and SNI if available)

const char * const char* mbedtls_ssl_context::alpn_chosen alpn_chosen mbedtls_ssl_context::alpn_chosen

negotiated protocol

mbedtls_dtls_srtp_info mbedtls_dtls_srtp_info mbedtls_ssl_context::dtls_srtp_info dtls_srtp_info mbedtls_ssl_context::dtls_srtp_info
unsigned char * unsigned char* mbedtls_ssl_context::cli_id cli_id mbedtls_ssl_context::cli_id

transport-level ID of the client

size_t size_t mbedtls_ssl_context::cli_id_len cli_id_len mbedtls_ssl_context::cli_id_len

length of cli_id

int int mbedtls_ssl_context::secure_renegotiation secure_renegotiation mbedtls_ssl_context::secure_renegotiation

does peer support legacy or secure renegotiation

size_t size_t mbedtls_ssl_context::verify_data_len verify_data_len mbedtls_ssl_context::verify_data_len

length of verify data stored

char char mbedtls_ssl_context::own_verify_data[MBEDTLS_SSL_VERIFY_DATA_MAX_LEN] [MBEDTLS_SSL_VERIFY_DATA_MAX_LEN] own_verify_data mbedtls_ssl_context::own_verify_data

previous handshake verify data

char char mbedtls_ssl_context::peer_verify_data[MBEDTLS_SSL_VERIFY_DATA_MAX_LEN] [MBEDTLS_SSL_VERIFY_DATA_MAX_LEN] peer_verify_data mbedtls_ssl_context::peer_verify_data

previous handshake verify data

mbedtls_asn1_buf
mbedtls_asn1_named_data
oid
val
next
mbedtls_asn1_sequence
buf
next
mbedtls_dtls_srtp_info_t
mbedtls_mpi
mbedtls_pk_context
mbedtls_ssl_config
cert_profile
ca_chain
ca_crl
dhm_G
dhm_P
mbedtls_ssl_context
conf
session
session_in
session_negotiate
session_out
dtls_srtp_info
mbedtls_ssl_session
peer_cert
mbedtls_x509_crl
crl_ext
issuer_raw
raw
sig
sig_oid
sig_oid2
tbs
issuer
next_update
this_update
entry
next
mbedtls_x509_crl_entry
entry_ext
raw
serial
revocation_date
next
mbedtls_x509_crt
issuer_id
issuer_raw
pk_raw
raw
serial
sig
sig_oid
subject_id
subject_raw
tbs
...
issuer
subject
valid_from
valid_to
pk
certificate_policies
ext_key_usage
subject_alt_names
next
mbedtls_x509_crt_profile
mbedtls_x509_time
- mbedtls_ssl_context
  alpn_chosen
- mbedtls_ssl_context
  badmac_seen
- mbedtls_ssl_context
  cli_id
- mbedtls_ssl_context
  cli_id_len
- mbedtls_ssl_context
  client_auth
- mbedtls_ssl_context
  conf
- mbedtls_ssl_context
  cur_out_ctr
- mbedtls_ssl_context
  disable_datagram_packing
- mbedtls_ssl_context
  dtls_srtp_info
- mbedtls_ssl_context
  f_get_timer
- mbedtls_ssl_context
  f_recv
- mbedtls_ssl_context
  f_recv_timeout
- mbedtls_ssl_context
  f_send
- mbedtls_ssl_context
  f_set_timer
- mbedtls_ssl_context
  f_vrfy
- mbedtls_ssl_context
  handshake
- mbedtls_ssl_context
  hostname
- mbedtls_ssl_context
  in_buf
- mbedtls_ssl_context
  in_ctr
- mbedtls_ssl_context
  in_epoch
- mbedtls_ssl_context
  in_hdr
- mbedtls_ssl_context
  in_hslen
- mbedtls_ssl_context
  in_iv
- mbedtls_ssl_context
  in_left
- mbedtls_ssl_context
  in_len
- mbedtls_ssl_context
  in_msg
- mbedtls_ssl_context
  in_msglen
- mbedtls_ssl_context
  in_msgtype
- mbedtls_ssl_context
  in_offt
- mbedtls_ssl_context
  in_window
- mbedtls_ssl_context
  in_window_top
- mbedtls_ssl_context
  keep_current_message
- mbedtls_ssl_context
  major_ver
- mbedtls_ssl_context
  minor_ver
- mbedtls_ssl_context
  mtu
- mbedtls_ssl_context
  nb_zero
- mbedtls_ssl_context
  next_record_offset
- mbedtls_ssl_context
  out_buf
- mbedtls_ssl_context
  out_ctr
- mbedtls_ssl_context
  out_hdr
- mbedtls_ssl_context
  out_iv
- mbedtls_ssl_context
  out_left
- mbedtls_ssl_context
  out_len
- mbedtls_ssl_context
  out_msg
- mbedtls_ssl_context
  out_msglen
- mbedtls_ssl_context
  out_msgtype
- mbedtls_ssl_context
  own_verify_data
- mbedtls_ssl_context
  p_bio
- mbedtls_ssl_context
  p_timer
- mbedtls_ssl_context
  p_vrfy
- mbedtls_ssl_context
  peer_verify_data
- mbedtls_ssl_context
  renego_records_seen
- mbedtls_ssl_context
  renego_status
- mbedtls_ssl_context
  secure_renegotiation
- mbedtls_ssl_context
  session
- mbedtls_ssl_context
  session_in
- mbedtls_ssl_context
  session_negotiate
- mbedtls_ssl_context
  session_out
- mbedtls_ssl_context
  split_done
- mbedtls_ssl_context
  state
- mbedtls_ssl_context
  transform
- mbedtls_ssl_context
  transform_in
- mbedtls_ssl_context
  transform_negotiate
- mbedtls_ssl_context
  transform_out
- mbedtls_ssl_context
  verify_data_len