Mbed TLS v3.6.3
Loading...
Searching...
No Matches
Data Fields
mbedtls_ssl_config Struct Reference

#include <ssl.h>

Collaboration diagram for mbedtls_ssl_config:
Collaboration graph
[legend]

Data Fields

mbedtls_ssl_protocol_version private_max_tls_version
 
mbedtls_ssl_protocol_version private_min_tls_version
 
uint8_t private_endpoint
 
uint8_t private_transport
 
uint8_t private_authmode
 
uint8_t private_allow_legacy_renegotiation
 
uint8_t private_mfl_code
 
uint8_t private_encrypt_then_mac
 
uint8_t private_extended_ms
 
uint8_t private_anti_replay
 
uint8_t private_disable_renegotiation
 
uint8_t private_session_tickets
 
uint16_t private_new_session_tickets_count
 
uint8_t private_cert_req_ca_list
 
uint8_t private_respect_cli_pref
 
uint8_t private_ignore_unexpected_cid
 
const int * private_ciphersuite_list
 
int private_tls13_kex_modes
 
void(* private_f_dbg )(void *, int, const char *, int, const char *)
 
void * private_p_dbg
 
int(* private_f_rng )(void *, unsigned char *, size_t)
 
void * private_p_rng
 
mbedtls_ssl_cache_get_tprivate_f_get_cache
 
mbedtls_ssl_cache_set_tprivate_f_set_cache
 
void * private_p_cache
 
int(* private_f_sni )(void *, mbedtls_ssl_context *, const unsigned char *, size_t)
 
void * private_p_sni
 
int(* private_f_vrfy )(void *, mbedtls_x509_crt *, int, uint32_t *)
 
void * private_p_vrfy
 
int(* private_f_psk )(void *, mbedtls_ssl_context *, const unsigned char *, size_t)
 
void * private_p_psk
 
int(* private_f_cookie_write )(void *, unsigned char **, unsigned char *, const unsigned char *, size_t)
 
int(* private_f_cookie_check )(void *, const unsigned char *, size_t, const unsigned char *, size_t)
 
void * private_p_cookie
 
int(* private_f_ticket_write )(void *, const mbedtls_ssl_session *, unsigned char *, const unsigned char *, size_t *, uint32_t *)
 
int(* private_f_ticket_parse )(void *, mbedtls_ssl_session *, unsigned char *, size_t)
 
void * private_p_ticket
 
size_t private_cid_len
 
const mbedtls_x509_crt_profileprivate_cert_profile
 
mbedtls_ssl_key_certprivate_key_cert
 
mbedtls_x509_crtprivate_ca_chain
 
mbedtls_x509_crlprivate_ca_crl
 
const int * private_sig_hashes
 
const uint16_t * private_sig_algs
 
const mbedtls_ecp_group_idprivate_curve_list
 
const uint16_t * private_group_list
 
mbedtls_mpi private_dhm_P
 
mbedtls_mpi private_dhm_G
 
unsigned char * private_psk
 
size_t private_psk_len
 
unsigned char * private_psk_identity
 
size_t private_psk_identity_len
 
const char ** private_alpn_list
 
uint32_t private_read_timeout
 
uint32_t private_hs_timeout_min
 
uint32_t private_hs_timeout_max
 
int private_renego_max_records
 
unsigned char private_renego_period [8]
 
unsigned int private_badmac_limit
 
unsigned int private_dhm_min_bitlen
 
mbedtls_ssl_user_data_t private_user_data
 
mbedtls_ssl_hs_cb_t private_f_cert_cb
 
const mbedtls_x509_crtprivate_dn_hints
 

Detailed Description

SSL/TLS configuration to be shared between mbedtls_ssl_context structures.

Definition at line 1447 of file ssl.h.

Field Documentation

◆ private_allow_legacy_renegotiation

uint8_t mbedtls_ssl_config::private_allow_legacy_renegotiation

MBEDTLS_LEGACY_XXX

Definition at line 1466 of file ssl.h.

◆ private_alpn_list

const char** mbedtls_ssl_config::private_alpn_list

ordered list of protocols

Definition at line 1672 of file ssl.h.

◆ private_anti_replay

uint8_t mbedtls_ssl_config::private_anti_replay

detect and prevent replay?

Definition at line 1478 of file ssl.h.

◆ private_authmode

uint8_t mbedtls_ssl_config::private_authmode

MBEDTLS_SSL_VERIFY_XXX

Definition at line 1464 of file ssl.h.

◆ private_badmac_limit

unsigned int mbedtls_ssl_config::private_badmac_limit

limit of records with a bad MAC

Definition at line 1701 of file ssl.h.

◆ private_ca_chain

mbedtls_x509_crt* mbedtls_ssl_config::private_ca_chain

trusted CAs

Definition at line 1589 of file ssl.h.

◆ private_ca_crl

mbedtls_x509_crl* mbedtls_ssl_config::private_ca_crl

trusted CAs CRLs

Definition at line 1590 of file ssl.h.

◆ private_cert_profile

const mbedtls_x509_crt_profile* mbedtls_ssl_config::private_cert_profile

verification profile

Definition at line 1587 of file ssl.h.

◆ private_cert_req_ca_list

uint8_t mbedtls_ssl_config::private_cert_req_ca_list

enable sending CA list in Certificate Request messages?

Definition at line 1501 of file ssl.h.

◆ private_cid_len

size_t mbedtls_ssl_config::private_cid_len

The length of CIDs for incoming DTLS records.

Definition at line 1583 of file ssl.h.

◆ private_ciphersuite_list

const int* mbedtls_ssl_config::private_ciphersuite_list

Allowed ciphersuites for (D)TLS 1.2 (0-terminated)

Definition at line 1522 of file ssl.h.

◆ private_curve_list

const mbedtls_ecp_group_id* mbedtls_ssl_config::private_curve_list

allowed curves

Definition at line 1616 of file ssl.h.

◆ private_dhm_G

mbedtls_mpi mbedtls_ssl_config::private_dhm_G

generator for DHM

Definition at line 1623 of file ssl.h.

◆ private_dhm_min_bitlen

unsigned int mbedtls_ssl_config::private_dhm_min_bitlen

min. bit length of the DHM prime

Definition at line 1704 of file ssl.h.

◆ private_dhm_P

mbedtls_mpi mbedtls_ssl_config::private_dhm_P

prime modulus for DHM

Definition at line 1622 of file ssl.h.

◆ private_disable_renegotiation

uint8_t mbedtls_ssl_config::private_disable_renegotiation

disable renegotiation?

Definition at line 1481 of file ssl.h.

◆ private_dn_hints

const mbedtls_x509_crt* mbedtls_ssl_config::private_dn_hints

acceptable client cert issuers

Definition at line 1719 of file ssl.h.

◆ private_encrypt_then_mac

uint8_t mbedtls_ssl_config::private_encrypt_then_mac

negotiate encrypt-then-mac?

Definition at line 1472 of file ssl.h.

◆ private_endpoint

uint8_t mbedtls_ssl_config::private_endpoint

0: client, 1: server

Definition at line 1462 of file ssl.h.

◆ private_extended_ms

uint8_t mbedtls_ssl_config::private_extended_ms

negotiate extended master secret?

Definition at line 1475 of file ssl.h.

◆ private_f_cert_cb

mbedtls_ssl_hs_cb_t mbedtls_ssl_config::private_f_cert_cb

certificate selection callback

Definition at line 1715 of file ssl.h.

◆ private_f_cookie_check

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

Callback to verify validity of a ClientHello cookie

Definition at line 1568 of file ssl.h.

◆ private_f_cookie_write

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

Callback to create & write a cookie for ClientHello verification

Definition at line 1565 of file ssl.h.

◆ private_f_dbg

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

Callback for printing debug output

Definition at line 1530 of file ssl.h.

◆ private_f_get_cache

mbedtls_ssl_cache_get_t* mbedtls_ssl_config::private_f_get_cache

Callback to retrieve a session from the cache

Definition at line 1538 of file ssl.h.

◆ private_f_psk

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

Callback to retrieve PSK key from identity

Definition at line 1558 of file ssl.h.

◆ private_f_rng

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

Callback for getting (pseudo-)random numbers

Definition at line 1534 of file ssl.h.

◆ private_f_set_cache

mbedtls_ssl_cache_set_t* mbedtls_ssl_config::private_f_set_cache

Callback to store a session into the cache

Definition at line 1540 of file ssl.h.

◆ private_f_sni

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

Callback for setting cert according to SNI extension

Definition at line 1545 of file ssl.h.

◆ private_f_ticket_parse

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

Callback to parse a session ticket into a session structure

Definition at line 1579 of file ssl.h.

◆ private_f_ticket_write

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

Callback to create & write a session ticket

Definition at line 1575 of file ssl.h.

◆ private_f_vrfy

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

Callback to customize X.509 certificate chain verification

Definition at line 1551 of file ssl.h.

◆ private_group_list

const uint16_t* mbedtls_ssl_config::private_group_list

allowed IANA NamedGroups

Definition at line 1619 of file ssl.h.

◆ private_hs_timeout_max

uint32_t mbedtls_ssl_config::private_hs_timeout_max

maximum value of the handshake retransmission timeout (ms)

Definition at line 1691 of file ssl.h.

◆ private_hs_timeout_min

uint32_t mbedtls_ssl_config::private_hs_timeout_min

initial value of the handshake retransmission timeout (ms)

Definition at line 1689 of file ssl.h.

◆ private_ignore_unexpected_cid

uint8_t mbedtls_ssl_config::private_ignore_unexpected_cid

Should DTLS record with unexpected CID lead to failure?

Definition at line 1508 of file ssl.h.

◆ private_key_cert

mbedtls_ssl_key_cert* mbedtls_ssl_config::private_key_cert

own certificate/key pair(s)

Definition at line 1588 of file ssl.h.

◆ private_max_tls_version

mbedtls_ssl_protocol_version mbedtls_ssl_config::private_max_tls_version

max. TLS version used

Definition at line 1453 of file ssl.h.

◆ private_mfl_code

uint8_t mbedtls_ssl_config::private_mfl_code

desired fragment length indicator (MBEDTLS_SSL_MAX_FRAG_LEN_XXX)

Definition at line 1468 of file ssl.h.

◆ private_min_tls_version

mbedtls_ssl_protocol_version mbedtls_ssl_config::private_min_tls_version

min. TLS version used

Definition at line 1454 of file ssl.h.

◆ private_new_session_tickets_count

uint16_t mbedtls_ssl_config::private_new_session_tickets_count

number of NewSessionTicket

Definition at line 1497 of file ssl.h.

◆ private_p_cache

void* mbedtls_ssl_config::private_p_cache

context for cache callbacks

Definition at line 1541 of file ssl.h.

◆ private_p_cookie

void* mbedtls_ssl_config::private_p_cookie

context for the cookie callbacks

Definition at line 1570 of file ssl.h.

◆ private_p_dbg

void* mbedtls_ssl_config::private_p_dbg

context for the debug function

Definition at line 1531 of file ssl.h.

◆ private_p_psk

void* mbedtls_ssl_config::private_p_psk

context for PSK callback

Definition at line 1559 of file ssl.h.

◆ private_p_rng

void* mbedtls_ssl_config::private_p_rng

context for the RNG function

Definition at line 1535 of file ssl.h.

◆ private_p_sni

void* mbedtls_ssl_config::private_p_sni

context for SNI callback

Definition at line 1546 of file ssl.h.

◆ private_p_ticket

void* mbedtls_ssl_config::private_p_ticket

context for the ticket callbacks

Definition at line 1580 of file ssl.h.

◆ private_p_vrfy

void* mbedtls_ssl_config::private_p_vrfy

context for X.509 verify calllback

Definition at line 1552 of file ssl.h.

◆ private_psk

unsigned char* mbedtls_ssl_config::private_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.

Definition at line 1636 of file ssl.h.

◆ private_psk_identity

unsigned char* mbedtls_ssl_config::private_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.

Definition at line 1646 of file ssl.h.

◆ private_psk_identity_len

size_t mbedtls_ssl_config::private_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.

Definition at line 1651 of file ssl.h.

◆ private_psk_len

size_t mbedtls_ssl_config::private_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.

Definition at line 1640 of file ssl.h.

◆ private_read_timeout

uint32_t mbedtls_ssl_config::private_read_timeout

timeout for mbedtls_ssl_read (ms)

Definition at line 1686 of file ssl.h.

◆ private_renego_max_records

int mbedtls_ssl_config::private_renego_max_records

grace period for renegotiation

Definition at line 1696 of file ssl.h.

◆ private_renego_period

unsigned char mbedtls_ssl_config::private_renego_period[8]

value of the record counters that triggers renegotiation

Definition at line 1697 of file ssl.h.

◆ private_respect_cli_pref

uint8_t mbedtls_ssl_config::private_respect_cli_pref

pick the ciphersuite according to the client's preferences rather than ours?

Definition at line 1503 of file ssl.h.

◆ private_session_tickets

uint8_t mbedtls_ssl_config::private_session_tickets

Encodes two booleans, one stating whether TLS 1.2 session tickets are enabled or not, the other one whether the handling of TLS 1.3 NewSessionTicket messages is enabled or not. They are respectively set by mbedtls_ssl_conf_session_tickets() and mbedtls_ssl_conf_tls13_enable_signal_new_session_tickets(). use session tickets?

Definition at line 1491 of file ssl.h.

◆ private_sig_algs

const uint16_t* mbedtls_ssl_config::private_sig_algs

allowed signature algorithms

Definition at line 1612 of file ssl.h.

◆ private_sig_hashes

const int* mbedtls_ssl_config::private_sig_hashes

allowed signature hashes

Definition at line 1610 of file ssl.h.

◆ private_tls13_kex_modes

int mbedtls_ssl_config::private_tls13_kex_modes

Allowed TLS 1.3 key exchange modes.

Definition at line 1526 of file ssl.h.

◆ private_transport

uint8_t mbedtls_ssl_config::private_transport

0: stream (TLS), 1: datagram (DTLS)

Definition at line 1463 of file ssl.h.

◆ private_user_data

mbedtls_ssl_user_data_t mbedtls_ssl_config::private_user_data

User data pointer or handle.

The library sets this to 0 when creating a context and does not access it afterwards.

Definition at line 1712 of file ssl.h.


The documentation for this struct was generated from the following file: