mbedtls_ssl_config
ssl.h
unsigned char unsigned char mbedtls_ssl_config::max_major_ver max_major_ver mbedtls_ssl_config::max_major_ver

max. major version used

unsigned char unsigned char mbedtls_ssl_config::max_minor_ver max_minor_ver mbedtls_ssl_config::max_minor_ver

max. minor version used

unsigned char unsigned char mbedtls_ssl_config::min_major_ver min_major_ver mbedtls_ssl_config::min_major_ver

min. major version used

unsigned char unsigned char mbedtls_ssl_config::min_minor_ver min_minor_ver mbedtls_ssl_config::min_minor_ver

min. minor version used

uint8_t uint8_t mbedtls_ssl_config::endpoint endpoint mbedtls_ssl_config::endpoint

0: client, 1: server

uint8_t uint8_t mbedtls_ssl_config::transport transport mbedtls_ssl_config::transport

stream (TLS) or datagram (DTLS)

uint8_t uint8_t mbedtls_ssl_config::authmode authmode mbedtls_ssl_config::authmode

MBEDTLS_SSL_VERIFY_XXX

uint8_t uint8_t mbedtls_ssl_config::allow_legacy_renegotiation allow_legacy_renegotiation mbedtls_ssl_config::allow_legacy_renegotiation

MBEDTLS_LEGACY_XXX

uint8_t uint8_t mbedtls_ssl_config::arc4_disabled arc4_disabled mbedtls_ssl_config::arc4_disabled

blacklist RC4 ciphersuites?

uint8_t uint8_t mbedtls_ssl_config::mfl_code mfl_code mbedtls_ssl_config::mfl_code

desired fragment length

uint8_t uint8_t mbedtls_ssl_config::encrypt_then_mac encrypt_then_mac mbedtls_ssl_config::encrypt_then_mac

negotiate encrypt-then-mac?

uint8_t uint8_t mbedtls_ssl_config::extended_ms extended_ms mbedtls_ssl_config::extended_ms

negotiate extended master secret?

uint8_t uint8_t mbedtls_ssl_config::anti_replay anti_replay mbedtls_ssl_config::anti_replay

detect and prevent replay?

uint8_t uint8_t mbedtls_ssl_config::cbc_record_splitting cbc_record_splitting mbedtls_ssl_config::cbc_record_splitting

do cbc record splitting

uint8_t uint8_t mbedtls_ssl_config::disable_renegotiation disable_renegotiation mbedtls_ssl_config::disable_renegotiation

disable renegotiation?

uint8_t uint8_t mbedtls_ssl_config::trunc_hmac trunc_hmac mbedtls_ssl_config::trunc_hmac

negotiate truncated hmac?

uint8_t uint8_t mbedtls_ssl_config::session_tickets session_tickets mbedtls_ssl_config::session_tickets

use session tickets?

uint8_t uint8_t mbedtls_ssl_config::fallback fallback mbedtls_ssl_config::fallback

is this a fallback?

uint8_t uint8_t mbedtls_ssl_config::cert_req_ca_list cert_req_ca_list mbedtls_ssl_config::cert_req_ca_list

enable sending CA list in Certificate Request messages?

uint8_t uint8_t mbedtls_ssl_config::dtls_srtp_mki_support dtls_srtp_mki_support mbedtls_ssl_config::dtls_srtp_mki_support

support having mki_value in the use_srtp extension?

uint32_t uint32_t mbedtls_ssl_config::read_timeout read_timeout mbedtls_ssl_config::read_timeout

timeout for mbedtls_ssl_read (ms)

uint32_t uint32_t mbedtls_ssl_config::hs_timeout_min hs_timeout_min mbedtls_ssl_config::hs_timeout_min

initial value of the handshake retransmission timeout (ms)

uint32_t uint32_t mbedtls_ssl_config::hs_timeout_max hs_timeout_max mbedtls_ssl_config::hs_timeout_max

maximum value of the handshake retransmission timeout (ms)

int int mbedtls_ssl_config::renego_max_records renego_max_records mbedtls_ssl_config::renego_max_records

grace period for renegotiation

unsigned char unsigned char mbedtls_ssl_config::renego_period[8] [8] renego_period mbedtls_ssl_config::renego_period

value of the record counters that triggers renegotiation

unsigned int unsigned int mbedtls_ssl_config::badmac_limit badmac_limit mbedtls_ssl_config::badmac_limit

limit of records with a bad MAC

unsigned int unsigned int mbedtls_ssl_config::dhm_min_bitlen dhm_min_bitlen mbedtls_ssl_config::dhm_min_bitlen

min. bit length of the DHM prime

const int * const int* mbedtls_ssl_config::ciphersuite_list[4] [4] ciphersuite_list mbedtls_ssl_config::ciphersuite_list

allowed ciphersuites per version

void(* void(* mbedtls_ssl_config::f_dbg) (void *, int, const char *, int, const char *) )(void *, int, const char *, int, const char *) f_dbg mbedtls_ssl_config::f_dbg

Callback for printing debug output

void * void* mbedtls_ssl_config::p_dbg p_dbg mbedtls_ssl_config::p_dbg

context for the debug function

int(* int(* mbedtls_ssl_config::f_rng) (void *, unsigned char *, size_t) )(void *, unsigned char *, size_t) f_rng mbedtls_ssl_config::f_rng

Callback for getting (pseudo-)random numbers

void * void* mbedtls_ssl_config::p_rng p_rng mbedtls_ssl_config::p_rng

context for the RNG function

int(* int(* mbedtls_ssl_config::f_get_cache) (void *, mbedtls_ssl_session *) )(void *, mbedtls_ssl_session *) f_get_cache mbedtls_ssl_config::f_get_cache

Callback to retrieve a session from the cache

int(* int(* mbedtls_ssl_config::f_set_cache) (void *, const mbedtls_ssl_session *) )(void *, const mbedtls_ssl_session *) f_set_cache mbedtls_ssl_config::f_set_cache

Callback to store a session into the cache

void * void* mbedtls_ssl_config::p_cache p_cache mbedtls_ssl_config::p_cache

context for cache callbacks

int(* int(* mbedtls_ssl_config::f_sni) (void *, mbedtls_ssl_context *, const unsigned char *, size_t) )(void *, mbedtls_ssl_context *, const unsigned char *, size_t) f_sni mbedtls_ssl_config::f_sni

Callback for setting cert according to SNI extension

void * void* mbedtls_ssl_config::p_sni p_sni mbedtls_ssl_config::p_sni

context for SNI callback

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

Callback to customize X.509 certificate chain verification

void * void* mbedtls_ssl_config::p_vrfy p_vrfy mbedtls_ssl_config::p_vrfy

context for X.509 verify calllback

int(* int(* mbedtls_ssl_config::f_psk) (void *, mbedtls_ssl_context *, const unsigned char *, size_t) )(void *, mbedtls_ssl_context *, const unsigned char *, size_t) f_psk mbedtls_ssl_config::f_psk

Callback to retrieve PSK key from identity

void * void* mbedtls_ssl_config::p_psk p_psk mbedtls_ssl_config::p_psk

context for PSK callback

int(* int(* mbedtls_ssl_config::f_cookie_write) (void *, unsigned char **, unsigned char *, const unsigned char *, size_t) )(void *, unsigned char **, unsigned char *, const unsigned char *, size_t) f_cookie_write mbedtls_ssl_config::f_cookie_write

Callback to create & write a cookie for ClientHello verification

int(* int(* mbedtls_ssl_config::f_cookie_check) (void *, const unsigned char *, size_t, const unsigned char *, size_t) )(void *, const unsigned char *, size_t, const unsigned char *, size_t) f_cookie_check mbedtls_ssl_config::f_cookie_check

Callback to verify validity of a ClientHello cookie

void * void* mbedtls_ssl_config::p_cookie p_cookie mbedtls_ssl_config::p_cookie

context for the cookie callbacks

int(* int(* mbedtls_ssl_config::f_ticket_write) (void *, const mbedtls_ssl_session *, unsigned char *, const unsigned char *, size_t *, uint32_t *) )(void *, const mbedtls_ssl_session *, unsigned char *, const unsigned char *, size_t *, uint32_t *) f_ticket_write mbedtls_ssl_config::f_ticket_write

Callback to create & write a session ticket

int(* int(* mbedtls_ssl_config::f_ticket_parse) (void *, mbedtls_ssl_session *, unsigned char *, size_t) )(void *, mbedtls_ssl_session *, unsigned char *, size_t) f_ticket_parse mbedtls_ssl_config::f_ticket_parse

Callback to parse a session ticket into a session structure

void * void* mbedtls_ssl_config::p_ticket p_ticket mbedtls_ssl_config::p_ticket

context for the ticket callbacks

int(* int(* mbedtls_ssl_config::f_export_keys) (void *, const unsigned char *, const unsigned char *, size_t, size_t, size_t) )(void *, const unsigned char *, const unsigned char *, size_t, size_t, size_t) f_export_keys mbedtls_ssl_config::f_export_keys

Callback to export key block and master secret

int(* int(* mbedtls_ssl_config::f_export_keys_ext) (void *, const unsigned char *, const unsigned char *, size_t, size_t, size_t, const unsigned char[32], const unsigned char[32], mbedtls_tls_prf_types) )(void *, const unsigned char *, const unsigned char *, size_t, size_t, size_t, const unsigned char[32], const unsigned char[32], mbedtls_tls_prf_types) f_export_keys_ext mbedtls_ssl_config::f_export_keys_ext

Callback to export key block, master secret, tls_prf and random bytes. Should replace f_export_keys

void * void* mbedtls_ssl_config::p_export_keys p_export_keys mbedtls_ssl_config::p_export_keys

context for key export callback

const mbedtls_x509_crt_profile * const mbedtls_x509_crt_profile* mbedtls_ssl_config::cert_profile cert_profile mbedtls_ssl_config::cert_profile

verification profile

mbedtls_ssl_key_cert * mbedtls_ssl_key_cert* mbedtls_ssl_config::key_cert key_cert mbedtls_ssl_config::key_cert

own certificate/key pair(s)

mbedtls_x509_crt * mbedtls_x509_crt* mbedtls_ssl_config::ca_chain ca_chain mbedtls_ssl_config::ca_chain

trusted CAs

mbedtls_x509_crl * mbedtls_x509_crl* mbedtls_ssl_config::ca_crl ca_crl mbedtls_ssl_config::ca_crl

trusted CAs CRLs

const int * const int* mbedtls_ssl_config::sig_hashes sig_hashes mbedtls_ssl_config::sig_hashes

allowed signature hashes

const mbedtls_ecp_group_id * const mbedtls_ecp_group_id* mbedtls_ssl_config::curve_list curve_list mbedtls_ssl_config::curve_list

allowed curves

mbedtls_mpi mbedtls_mpi mbedtls_ssl_config::dhm_P dhm_P mbedtls_ssl_config::dhm_P

prime modulus for DHM

mbedtls_mpi mbedtls_mpi mbedtls_ssl_config::dhm_G dhm_G mbedtls_ssl_config::dhm_G

generator for DHM

unsigned char * unsigned char* mbedtls_ssl_config::psk psk mbedtls_ssl_config::psk

The raw pre-shared key. This field should only be set via mbedtls_ssl_conf_psk(). If either no PSK or an opaque PSK have been configured, this has value NULL.

size_t size_t mbedtls_ssl_config::psk_len psk_len mbedtls_ssl_config::psk_len

The length of the raw pre-shared key. This field should only be set via mbedtls_ssl_conf_psk(). Its value is non-zero if and only if `psk` is not `NULL`.

unsigned char * unsigned char* mbedtls_ssl_config::psk_identity psk_identity mbedtls_ssl_config::psk_identity

The PSK identity for PSK negotiation. This field should only be set via mbedtls_ssl_conf_psk(). This is set if and only if either `psk` or `psk_opaque` are set.

size_t size_t mbedtls_ssl_config::psk_identity_len psk_identity_len mbedtls_ssl_config::psk_identity_len

The length of PSK identity. This field should only be set via mbedtls_ssl_conf_psk(). Its value is non-zero if and only if `psk` is not `NULL` or `psk_opaque` is not `0`.

const char ** const char** mbedtls_ssl_config::alpn_list alpn_list mbedtls_ssl_config::alpn_list

ordered list of protocols

const mbedtls_ssl_srtp_profile * const mbedtls_ssl_srtp_profile* mbedtls_ssl_config::dtls_srtp_profile_list dtls_srtp_profile_list mbedtls_ssl_config::dtls_srtp_profile_list

ordered list of supported srtp profile

size_t size_t mbedtls_ssl_config::dtls_srtp_profile_list_len dtls_srtp_profile_list_len mbedtls_ssl_config::dtls_srtp_profile_list_len

number of supported profiles

SSL/TLS configuration to be shared between mbedtls_ssl_context structures.

mbedtls_asn1_buf
mbedtls_asn1_named_data
oid
val
next
mbedtls_asn1_sequence
buf
next
mbedtls_mpi
mbedtls_pk_context
mbedtls_ssl_config
cert_profile
ca_chain
ca_crl
dhm_G
dhm_P
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_config
  allow_legacy_renegotiation
- mbedtls_ssl_config
  alpn_list
- mbedtls_ssl_config
  anti_replay
- mbedtls_ssl_config
  arc4_disabled
- mbedtls_ssl_config
  authmode
- mbedtls_ssl_config
  badmac_limit
- mbedtls_ssl_config
  ca_chain
- mbedtls_ssl_config
  ca_crl
- mbedtls_ssl_config
  cbc_record_splitting
- mbedtls_ssl_config
  cert_profile
- mbedtls_ssl_config
  cert_req_ca_list
- mbedtls_ssl_config
  ciphersuite_list
- mbedtls_ssl_config
  curve_list
- mbedtls_ssl_config
  dhm_G
- mbedtls_ssl_config
  dhm_min_bitlen
- mbedtls_ssl_config
  dhm_P
- mbedtls_ssl_config
  disable_renegotiation
- mbedtls_ssl_config
  dtls_srtp_mki_support
- mbedtls_ssl_config
  dtls_srtp_profile_list
- mbedtls_ssl_config
  dtls_srtp_profile_list_len
- mbedtls_ssl_config
  encrypt_then_mac
- mbedtls_ssl_config
  endpoint
- mbedtls_ssl_config
  extended_ms
- mbedtls_ssl_config
  f_cookie_check
- mbedtls_ssl_config
  f_cookie_write
- mbedtls_ssl_config
  f_dbg
- mbedtls_ssl_config
  f_export_keys
- mbedtls_ssl_config
  f_export_keys_ext
- mbedtls_ssl_config
  f_get_cache
- mbedtls_ssl_config
  f_psk
- mbedtls_ssl_config
  f_rng
- mbedtls_ssl_config
  f_set_cache
- mbedtls_ssl_config
  f_sni
- mbedtls_ssl_config
  f_ticket_parse
- mbedtls_ssl_config
  f_ticket_write
- mbedtls_ssl_config
  f_vrfy
- mbedtls_ssl_config
  fallback
- mbedtls_ssl_config
  hs_timeout_max
- mbedtls_ssl_config
  hs_timeout_min
- mbedtls_ssl_config
  key_cert
- mbedtls_ssl_config
  max_major_ver
- mbedtls_ssl_config
  max_minor_ver
- mbedtls_ssl_config
  mfl_code
- mbedtls_ssl_config
  min_major_ver
- mbedtls_ssl_config
  min_minor_ver
- mbedtls_ssl_config
  p_cache
- mbedtls_ssl_config
  p_cookie
- mbedtls_ssl_config
  p_dbg
- mbedtls_ssl_config
  p_export_keys
- mbedtls_ssl_config
  p_psk
- mbedtls_ssl_config
  p_rng
- mbedtls_ssl_config
  p_sni
- mbedtls_ssl_config
  p_ticket
- mbedtls_ssl_config
  p_vrfy
- mbedtls_ssl_config
  psk
- mbedtls_ssl_config
  psk_identity
- mbedtls_ssl_config
  psk_identity_len
- mbedtls_ssl_config
  psk_len
- mbedtls_ssl_config
  read_timeout
- mbedtls_ssl_config
  renego_max_records
- mbedtls_ssl_config
  renego_period
- mbedtls_ssl_config
  session_tickets
- mbedtls_ssl_config
  sig_hashes
- mbedtls_ssl_config
  transport
- mbedtls_ssl_config
  trunc_hmac