A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/ssl__misc_8h_source.html below:

NCBI C++ ToolKit: src/connect/mbedtls/ssl_misc.h Source File

10 #ifndef MBEDTLS_SSL_MISC_H 11 #define MBEDTLS_SSL_MISC_H 24 #if defined(MBEDTLS_USE_PSA_CRYPTO) || defined(MBEDTLS_SSL_PROTO_TLS1_3) 29 #if defined(MBEDTLS_MD_CAN_MD5) 33 #if defined(MBEDTLS_MD_CAN_SHA1) 37 #if defined(MBEDTLS_MD_CAN_SHA256) 41 #if defined(MBEDTLS_MD_CAN_SHA512) 45 #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) && \ 46  !defined(MBEDTLS_USE_PSA_CRYPTO) 57 #if defined(MBEDTLS_ECP_RESTARTABLE) && \ 58  defined(MBEDTLS_SSL_CLI_C) && \ 59  defined(MBEDTLS_SSL_PROTO_TLS1_2) && \ 60  defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) 61 #define MBEDTLS_SSL_ECP_RESTARTABLE_ENABLED 64 #define MBEDTLS_SSL_INITIAL_HANDSHAKE 0 65 #define MBEDTLS_SSL_RENEGOTIATION_IN_PROGRESS 1 66 #define MBEDTLS_SSL_RENEGOTIATION_DONE 2 67 #define MBEDTLS_SSL_RENEGOTIATION_PENDING 3 70 #define MBEDTLS_SSL_TLS1_3_HS_HELLO_RETRY_REQUEST (-MBEDTLS_SSL_HS_SERVER_HELLO) 75 #define MBEDTLS_SSL_EXT_ID_UNRECOGNIZED 0 76 #define MBEDTLS_SSL_EXT_ID_SERVERNAME 1 77 #define MBEDTLS_SSL_EXT_ID_SERVERNAME_HOSTNAME 1 78 #define MBEDTLS_SSL_EXT_ID_MAX_FRAGMENT_LENGTH 2 79 #define MBEDTLS_SSL_EXT_ID_STATUS_REQUEST 3 80 #define MBEDTLS_SSL_EXT_ID_SUPPORTED_GROUPS 4 81 #define MBEDTLS_SSL_EXT_ID_SUPPORTED_ELLIPTIC_CURVES 4 82 #define MBEDTLS_SSL_EXT_ID_SIG_ALG 5 83 #define MBEDTLS_SSL_EXT_ID_USE_SRTP 6 84 #define MBEDTLS_SSL_EXT_ID_HEARTBEAT 7 85 #define MBEDTLS_SSL_EXT_ID_ALPN 8 86 #define MBEDTLS_SSL_EXT_ID_SCT 9 87 #define MBEDTLS_SSL_EXT_ID_CLI_CERT_TYPE 10 88 #define MBEDTLS_SSL_EXT_ID_SERV_CERT_TYPE 11 89 #define MBEDTLS_SSL_EXT_ID_PADDING 12 90 #define MBEDTLS_SSL_EXT_ID_PRE_SHARED_KEY 13 91 #define MBEDTLS_SSL_EXT_ID_EARLY_DATA 14 92 #define MBEDTLS_SSL_EXT_ID_SUPPORTED_VERSIONS 15 93 #define MBEDTLS_SSL_EXT_ID_COOKIE 16 94 #define MBEDTLS_SSL_EXT_ID_PSK_KEY_EXCHANGE_MODES 17 95 #define MBEDTLS_SSL_EXT_ID_CERT_AUTH 18 96 #define MBEDTLS_SSL_EXT_ID_OID_FILTERS 19 97 #define MBEDTLS_SSL_EXT_ID_POST_HANDSHAKE_AUTH 20 98 #define MBEDTLS_SSL_EXT_ID_SIG_ALG_CERT 21 99 #define MBEDTLS_SSL_EXT_ID_KEY_SHARE 22 100 #define MBEDTLS_SSL_EXT_ID_TRUNCATED_HMAC 23 101 #define MBEDTLS_SSL_EXT_ID_SUPPORTED_POINT_FORMATS 24 102 #define MBEDTLS_SSL_EXT_ID_ENCRYPT_THEN_MAC 25 103 #define MBEDTLS_SSL_EXT_ID_EXTENDED_MASTER_SECRET 26 104 #define MBEDTLS_SSL_EXT_ID_SESSION_TICKET 27 105 #define MBEDTLS_SSL_EXT_ID_RECORD_SIZE_LIMIT 28 111 #define MBEDTLS_SSL_EXT_MASK(id) (1ULL << (MBEDTLS_SSL_EXT_ID_##id)) 113 #define MBEDTLS_SSL_EXT_MASK_NONE 0 135 #define MBEDTLS_SSL_TLS1_3_EXT_MASK_UNRECOGNIZED \ 136  (MBEDTLS_SSL_EXT_MASK(SUPPORTED_POINT_FORMATS) | \ 137  MBEDTLS_SSL_EXT_MASK(ENCRYPT_THEN_MAC) | \ 138  MBEDTLS_SSL_EXT_MASK(EXTENDED_MASTER_SECRET) | \ 139  MBEDTLS_SSL_EXT_MASK(SESSION_TICKET) | \ 140  MBEDTLS_SSL_EXT_MASK(TRUNCATED_HMAC) | \ 141  MBEDTLS_SSL_EXT_MASK(UNRECOGNIZED)) 144 #define MBEDTLS_SSL_TLS1_3_ALLOWED_EXTS_OF_CH \ 145  (MBEDTLS_SSL_EXT_MASK(SERVERNAME) | \ 146  MBEDTLS_SSL_EXT_MASK(MAX_FRAGMENT_LENGTH) | \ 147  MBEDTLS_SSL_EXT_MASK(STATUS_REQUEST) | \ 148  MBEDTLS_SSL_EXT_MASK(SUPPORTED_GROUPS) | \ 149  MBEDTLS_SSL_EXT_MASK(SIG_ALG) | \ 150  MBEDTLS_SSL_EXT_MASK(USE_SRTP) | \ 151  MBEDTLS_SSL_EXT_MASK(HEARTBEAT) | \ 152  MBEDTLS_SSL_EXT_MASK(ALPN) | \ 153  MBEDTLS_SSL_EXT_MASK(SCT) | \ 154  MBEDTLS_SSL_EXT_MASK(CLI_CERT_TYPE) | \ 155  MBEDTLS_SSL_EXT_MASK(SERV_CERT_TYPE) | \ 156  MBEDTLS_SSL_EXT_MASK(PADDING) | \ 157  MBEDTLS_SSL_EXT_MASK(KEY_SHARE) | \ 158  MBEDTLS_SSL_EXT_MASK(PRE_SHARED_KEY) | \ 159  MBEDTLS_SSL_EXT_MASK(PSK_KEY_EXCHANGE_MODES) | \ 160  MBEDTLS_SSL_EXT_MASK(EARLY_DATA) | \ 161  MBEDTLS_SSL_EXT_MASK(COOKIE) | \ 162  MBEDTLS_SSL_EXT_MASK(SUPPORTED_VERSIONS) | \ 163  MBEDTLS_SSL_EXT_MASK(CERT_AUTH) | \ 164  MBEDTLS_SSL_EXT_MASK(POST_HANDSHAKE_AUTH) | \ 165  MBEDTLS_SSL_EXT_MASK(SIG_ALG_CERT) | \ 166  MBEDTLS_SSL_EXT_MASK(RECORD_SIZE_LIMIT) | \ 167  MBEDTLS_SSL_TLS1_3_EXT_MASK_UNRECOGNIZED) 170 #define MBEDTLS_SSL_TLS1_3_ALLOWED_EXTS_OF_EE \ 171  (MBEDTLS_SSL_EXT_MASK(SERVERNAME) | \ 172  MBEDTLS_SSL_EXT_MASK(MAX_FRAGMENT_LENGTH) | \ 173  MBEDTLS_SSL_EXT_MASK(SUPPORTED_GROUPS) | \ 174  MBEDTLS_SSL_EXT_MASK(USE_SRTP) | \ 175  MBEDTLS_SSL_EXT_MASK(HEARTBEAT) | \ 176  MBEDTLS_SSL_EXT_MASK(ALPN) | \ 177  MBEDTLS_SSL_EXT_MASK(CLI_CERT_TYPE) | \ 178  MBEDTLS_SSL_EXT_MASK(SERV_CERT_TYPE) | \ 179  MBEDTLS_SSL_EXT_MASK(EARLY_DATA) | \ 180  MBEDTLS_SSL_EXT_MASK(RECORD_SIZE_LIMIT)) 183 #define MBEDTLS_SSL_TLS1_3_ALLOWED_EXTS_OF_CR \ 184  (MBEDTLS_SSL_EXT_MASK(STATUS_REQUEST) | \ 185  MBEDTLS_SSL_EXT_MASK(SIG_ALG) | \ 186  MBEDTLS_SSL_EXT_MASK(SCT) | \ 187  MBEDTLS_SSL_EXT_MASK(CERT_AUTH) | \ 188  MBEDTLS_SSL_EXT_MASK(OID_FILTERS) | \ 189  MBEDTLS_SSL_EXT_MASK(SIG_ALG_CERT) | \ 190  MBEDTLS_SSL_TLS1_3_EXT_MASK_UNRECOGNIZED) 193 #define MBEDTLS_SSL_TLS1_3_ALLOWED_EXTS_OF_CT \ 194  (MBEDTLS_SSL_EXT_MASK(STATUS_REQUEST) | \ 195  MBEDTLS_SSL_EXT_MASK(SCT)) 198 #define MBEDTLS_SSL_TLS1_3_ALLOWED_EXTS_OF_SH \ 199  (MBEDTLS_SSL_EXT_MASK(KEY_SHARE) | \ 200  MBEDTLS_SSL_EXT_MASK(PRE_SHARED_KEY) | \ 201  MBEDTLS_SSL_EXT_MASK(SUPPORTED_VERSIONS)) 204 #define MBEDTLS_SSL_TLS1_3_ALLOWED_EXTS_OF_HRR \ 205  (MBEDTLS_SSL_EXT_MASK(KEY_SHARE) | \ 206  MBEDTLS_SSL_EXT_MASK(COOKIE) | \ 207  MBEDTLS_SSL_EXT_MASK(SUPPORTED_VERSIONS)) 210 #define MBEDTLS_SSL_TLS1_3_ALLOWED_EXTS_OF_NST \ 211  (MBEDTLS_SSL_EXT_MASK(EARLY_DATA) | \ 212  MBEDTLS_SSL_TLS1_3_EXT_MASK_UNRECOGNIZED) 220 #define MBEDTLS_SSL_PROC_CHK(f) \ 231 #define MBEDTLS_SSL_PROC_CHK_NEG(f) \ 248 #define MBEDTLS_SSL_RETRANS_PREPARING 0 249 #define MBEDTLS_SSL_RETRANS_SENDING 1 250 #define MBEDTLS_SSL_RETRANS_WAITING 2 251 #define MBEDTLS_SSL_RETRANS_FINISHED 3 258 #if defined(MBEDTLS_SSL_PROTO_TLS1_2) 261 #if defined(MBEDTLS_SSL_HAVE_CBC) && \ 262  (defined(MBEDTLS_SSL_HAVE_AES) || \ 263  defined(MBEDTLS_SSL_HAVE_CAMELLIA) || \ 264  defined(MBEDTLS_SSL_HAVE_ARIA)) 265 #define MBEDTLS_SSL_SOME_SUITES_USE_CBC 270 #if defined(MBEDTLS_CIPHER_NULL_CIPHER) 271 #define MBEDTLS_SSL_SOME_SUITES_USE_STREAM 275 #if defined(MBEDTLS_SSL_SOME_SUITES_USE_CBC) && \ 276  defined(MBEDTLS_SSL_PROTO_TLS1_2) 277 #define MBEDTLS_SSL_SOME_SUITES_USE_TLS_CBC 280 #if defined(MBEDTLS_SSL_SOME_SUITES_USE_STREAM) || \ 281  defined(MBEDTLS_SSL_SOME_SUITES_USE_CBC) 282 #define MBEDTLS_SSL_SOME_SUITES_USE_MAC 286 #if defined(MBEDTLS_SSL_SOME_SUITES_USE_CBC) && \ 287  defined(MBEDTLS_SSL_ENCRYPT_THEN_MAC) 288 #define MBEDTLS_SSL_SOME_SUITES_USE_CBC_ETM 293 #if defined(MBEDTLS_SSL_SOME_SUITES_USE_MAC) 295 #if defined(MBEDTLS_MD_CAN_SHA384) 296 #define MBEDTLS_SSL_MAC_ADD 48 297 #elif defined(MBEDTLS_MD_CAN_SHA256) 298 #define MBEDTLS_SSL_MAC_ADD 32 300 #define MBEDTLS_SSL_MAC_ADD 20 304 #define MBEDTLS_SSL_MAC_ADD 16 307 #if defined(MBEDTLS_SSL_HAVE_CBC) 308 #define MBEDTLS_SSL_PADDING_ADD 256 310 #define MBEDTLS_SSL_PADDING_ADD 0 313 #if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) 314 #define MBEDTLS_SSL_MAX_CID_EXPANSION MBEDTLS_SSL_CID_TLS1_3_PADDING_GRANULARITY 316 #define MBEDTLS_SSL_MAX_CID_EXPANSION 0 319 #define MBEDTLS_SSL_PAYLOAD_OVERHEAD (MBEDTLS_MAX_IV_LENGTH + \ 320  MBEDTLS_SSL_MAC_ADD + \ 321  MBEDTLS_SSL_PADDING_ADD + \ 322  MBEDTLS_SSL_MAX_CID_EXPANSION \ 325 #define MBEDTLS_SSL_IN_PAYLOAD_LEN (MBEDTLS_SSL_PAYLOAD_OVERHEAD + \ 326  (MBEDTLS_SSL_IN_CONTENT_LEN)) 328 #define MBEDTLS_SSL_OUT_PAYLOAD_LEN (MBEDTLS_SSL_PAYLOAD_OVERHEAD + \ 329  (MBEDTLS_SSL_OUT_CONTENT_LEN)) 332 #define MBEDTLS_SSL_MAX_BUFFERED_HS 4 338 #define MBEDTLS_TLS_EXT_ADV_CONTENT_LEN ( \ 339  (MBEDTLS_SSL_IN_CONTENT_LEN > MBEDTLS_SSL_OUT_CONTENT_LEN) \ 340  ? (MBEDTLS_SSL_OUT_CONTENT_LEN) \ 341  : (MBEDTLS_SSL_IN_CONTENT_LEN) \ 345 #define MBEDTLS_SSL_MAX_SIG_ALG_LIST_LEN 65534 348 #define MBEDTLS_SSL_MIN_SIG_ALG_LIST_LEN 2 351 #define MBEDTLS_SSL_MAX_CURVE_LIST_LEN 65535 353 #define MBEDTLS_RECEIVED_SIG_ALGS_SIZE 20 355 #if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) 357 #define MBEDTLS_TLS_SIG_NONE MBEDTLS_TLS1_3_SIG_NONE 359 #if defined(MBEDTLS_SSL_PROTO_TLS1_2) 360 #define MBEDTLS_SSL_TLS12_SIG_AND_HASH_ALG(sig, hash) ((hash << 8) | sig) 361 #define MBEDTLS_SSL_TLS12_SIG_ALG_FROM_SIG_AND_HASH_ALG(alg) (alg & 0xFF) 362 #define MBEDTLS_SSL_TLS12_HASH_ALG_FROM_SIG_AND_HASH_ALG(alg) (alg >> 8) 371 #if MBEDTLS_SSL_IN_CONTENT_LEN > 16384 372 #error "Bad configuration - incoming record content too large." 375 #if MBEDTLS_SSL_OUT_CONTENT_LEN > 16384 376 #error "Bad configuration - outgoing record content too large." 379 #if MBEDTLS_SSL_IN_PAYLOAD_LEN > MBEDTLS_SSL_IN_CONTENT_LEN + 2048 380 #error "Bad configuration - incoming protected record payload too large." 383 #if MBEDTLS_SSL_OUT_PAYLOAD_LEN > MBEDTLS_SSL_OUT_CONTENT_LEN + 2048 384 #error "Bad configuration - outgoing protected record payload too large." 392 #define MBEDTLS_SSL_HEADER_LEN 13 394 #if !defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) 395 #define MBEDTLS_SSL_IN_BUFFER_LEN \ 396  ((MBEDTLS_SSL_HEADER_LEN) + (MBEDTLS_SSL_IN_PAYLOAD_LEN)) 398 #define MBEDTLS_SSL_IN_BUFFER_LEN \ 399  ((MBEDTLS_SSL_HEADER_LEN) + (MBEDTLS_SSL_IN_PAYLOAD_LEN) \ 400  + (MBEDTLS_SSL_CID_IN_LEN_MAX)) 403 #if !defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) 404 #define MBEDTLS_SSL_OUT_BUFFER_LEN \ 405  ((MBEDTLS_SSL_HEADER_LEN) + (MBEDTLS_SSL_OUT_PAYLOAD_LEN)) 407 #define MBEDTLS_SSL_OUT_BUFFER_LEN \ 408  ((MBEDTLS_SSL_HEADER_LEN) + (MBEDTLS_SSL_OUT_PAYLOAD_LEN) \ 409  + (MBEDTLS_SSL_CID_OUT_LEN_MAX)) 412 #define MBEDTLS_CLIENT_HELLO_RANDOM_LEN 32 413 #define MBEDTLS_SERVER_HELLO_RANDOM_LEN 32 415 #if defined(MBEDTLS_SSL_MAX_FRAGMENT_LENGTH) 448 #if defined(MBEDTLS_SSL_RECORD_SIZE_LIMIT) 461 #if defined(MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH) 464 #if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) 476 #if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) 492 #define MBEDTLS_TLS_EXT_SUPPORTED_POINT_FORMATS_PRESENT (1 << 0) 493 #define MBEDTLS_TLS_EXT_ECJPAKE_KKPP_OK (1 << 1) 506 #if !defined(MBEDTLS_TEST_HOOKS) 508  const uint8_t

*end,

size_t

need)

510  return

(cur > end) || (need > (size_t) (end - cur));

517

} mbedtls_ssl_chk_buf_ptr_args;

519 void

mbedtls_ssl_set_chk_buf_ptr_fail_args(

521 void

mbedtls_ssl_reset_chk_buf_ptr_fail_args(

void

);

524 int

mbedtls_ssl_cmp_chk_buf_ptr_fail_args(mbedtls_ssl_chk_buf_ptr_args *args);

527  const uint8_t

*end,

size_t

need)

529  if

((cur > end) || (need > (

size_t

) (end - cur))) {

530

mbedtls_ssl_set_chk_buf_ptr_fail_args(cur, end, need);

547 #define MBEDTLS_SSL_CHK_BUF_PTR(cur, end, need) \ 549  if (mbedtls_ssl_chk_buf_ptr((cur), (end), (need)) != 0) \ 551  return MBEDTLS_ERR_SSL_BUFFER_TOO_SMALL; \ 569 #define MBEDTLS_SSL_CHK_BUF_READ_PTR(cur, end, need) \ 571  if (mbedtls_ssl_chk_buf_ptr((cur), (end), (need)) != 0) \ 573  MBEDTLS_SSL_DEBUG_MSG(1, \ 574  ("missing input data in %s"

, __func__)); \

575

MBEDTLS_SSL_PEND_FATAL_ALERT(MBEDTLS_SSL_ALERT_MSG_DECODE_ERROR, \

576

MBEDTLS_ERR_SSL_DECODE_ERROR); \

577

return MBEDTLS_ERR_SSL_DECODE_ERROR; \

587  const unsigned char

*random,

size_t

rlen,

588  unsigned char

*dstbuf,

size_t

dlen);

606 #define MBEDTLS_SSL_MAX_BLOCK_LENGTH 16 607 #define MBEDTLS_SSL_MAX_IV_LENGTH 16 608 #define MBEDTLS_SSL_MAX_KEY_LENGTH 32 651 #if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) 655 #if defined(MBEDTLS_SSL_SRV_C) 658  uint8_t

certificate_request_sent;

659 #if defined(MBEDTLS_SSL_EARLY_DATA) 665 #if defined(MBEDTLS_SSL_SESSION_TICKETS) 669 #if defined(MBEDTLS_SSL_CLI_C) 691 #if defined(MBEDTLS_SSL_EXTENDED_MASTER_SECRET) 695 #if defined(MBEDTLS_SSL_ASYNC_PRIVATE) 699 #if defined(MBEDTLS_SSL_PROTO_DTLS) 700  unsigned char

retransmit_state;

703 #if !defined(MBEDTLS_DEPRECATED_REMOVED) 708 #if defined(MBEDTLS_SSL_ECP_RESTARTABLE_ENABLED) 713

ssl_ecrs_ske_start_processing,

714

ssl_ecrs_cke_ecdh_calc_secret,

715

ssl_ecrs_crt_vrfy_sign,

734 #if defined(MBEDTLS_SSL_PROTO_TLS1_3) 742  uint8_t

hello_retry_request_flag;

744 #if defined(MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE) 754 #if defined(MBEDTLS_SSL_SRV_C) 755 #if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED) 760 #if defined(MBEDTLS_SSL_SESSION_TICKETS) 767 #if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) 771 #if !defined(MBEDTLS_DEPRECATED_REMOVED) 776 #if defined(MBEDTLS_DHM_C) 780 #if !defined(MBEDTLS_USE_PSA_CRYPTO) && \ 781  defined(MBEDTLS_KEY_EXCHANGE_SOME_ECDH_OR_ECDHE_1_2_ENABLED) 786 #if defined(MBEDTLS_KEY_EXCHANGE_SOME_XXDH_PSA_ANY_ENABLED) 788  size_t

xxdh_psa_bits;

790  uint8_t

xxdh_psa_privkey_is_external;

792  size_t

xxdh_psa_peerkey_len;

795 #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) 796 #if defined(MBEDTLS_USE_PSA_CRYPTO) 803 #if defined(MBEDTLS_SSL_CLI_C) 804  unsigned char

*ecjpake_cache;

805  size_t

ecjpake_cache_len;

809 #if defined(MBEDTLS_KEY_EXCHANGE_SOME_ECDH_OR_ECDHE_ANY_ENABLED) || \ 810  defined(MBEDTLS_KEY_EXCHANGE_ECDSA_CERT_REQ_ANY_ALLOWED_ENABLED) || \ 811  defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) 815 #if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) 816 #if defined(MBEDTLS_USE_PSA_CRYPTO) 818  uint8_t

psk_opaque_is_internal;

826 #if defined(MBEDTLS_SSL_ECP_RESTARTABLE_ENABLED) 830 #if defined(MBEDTLS_X509_CRT_PARSE_C) 831

mbedtls_ssl_key_cert *key_cert;

832 #if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) 833

mbedtls_ssl_key_cert *sni_key_cert;

839 #if defined(MBEDTLS_X509_CRT_PARSE_C) && \ 840  !defined(MBEDTLS_SSL_KEEP_PEER_CERTIFICATE) 860  unsigned char

*

data

;

867 #if defined(MBEDTLS_SSL_CLI_C) && \ 868  (defined(MBEDTLS_SSL_PROTO_DTLS) || \ 869  defined(MBEDTLS_SSL_PROTO_TLS1_3)) 870  unsigned char

*cookie;

872 #if !defined(MBEDTLS_SSL_PROTO_TLS1_3) 892 #if defined(MBEDTLS_SSL_SRV_C) && defined(MBEDTLS_SSL_PROTO_DTLS) 893  unsigned char

cookie_verify_result;

896 #if defined(MBEDTLS_SSL_PROTO_DTLS) 897  unsigned int

out_msg_seq;

898  unsigned int

in_msg_seq;

901

mbedtls_ssl_flight_item *flight;

902

mbedtls_ssl_flight_item *cur_msg;

903  unsigned char

*cur_msg_p;

904  unsigned int

in_flight_start_seq;

911 #if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) 929 #if defined(MBEDTLS_MD_CAN_SHA256) 930 #if defined(MBEDTLS_USE_PSA_CRYPTO) 936 #if defined(MBEDTLS_MD_CAN_SHA384) 937 #if defined(MBEDTLS_USE_PSA_CRYPTO) 944 #if defined(MBEDTLS_SSL_PROTO_TLS1_3) 954 #if defined(MBEDTLS_SSL_CLI_C) 992 #if defined(MBEDTLS_SSL_PROTO_TLS1_2) 998 #if defined(MBEDTLS_SSL_PROTO_TLS1_3) 1002 #if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) 1003  unsigned char

certificate_request_context_len;

1004  unsigned char

*certificate_request_context;

1013

} tls13_master_secrets;

1016 #if defined(MBEDTLS_SSL_EARLY_DATA) 1022 #if defined(MBEDTLS_SSL_ASYNC_PRIVATE) 1028  void

*user_async_ctx;

1031 #if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) 1032  const unsigned char

*sni_name;

1033  size_t

sni_name_len;

1034 #if defined(MBEDTLS_KEY_EXCHANGE_CERT_REQ_ALLOWED_ENABLED) 1134 #if defined(MBEDTLS_SSL_SOME_SUITES_USE_MAC) 1136 #if defined(MBEDTLS_USE_PSA_CRYPTO) 1145 #if defined(MBEDTLS_SSL_ENCRYPT_THEN_MAC) 1146  int

encrypt_then_mac;

1153 #if defined(MBEDTLS_USE_PSA_CRYPTO) 1162 #if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) 1169 #if defined(MBEDTLS_SSL_KEEP_RANDBYTES) 1187 #if defined(MBEDTLS_SSL_SOME_SUITES_USE_MAC) 1215 #if MBEDTLS_SSL_CID_OUT_LEN_MAX > MBEDTLS_SSL_CID_IN_LEN_MAX 1216 #define MBEDTLS_SSL_CID_LEN_MAX MBEDTLS_SSL_CID_OUT_LEN_MAX 1218 #define MBEDTLS_SSL_CID_LEN_MAX MBEDTLS_SSL_CID_IN_LEN_MAX 1242 #if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) 1248 #if defined(MBEDTLS_X509_CRT_PARSE_C) 1252 struct

mbedtls_ssl_key_cert {

1255

mbedtls_ssl_key_cert *

next

;

1259 #if defined(MBEDTLS_SSL_PROTO_DTLS) 1263 struct

mbedtls_ssl_flight_item {

1266  unsigned char type

;

1267

mbedtls_ssl_flight_item *

next

;

1271 #if defined(MBEDTLS_SSL_PROTO_TLS1_2) 1285  unsigned char

*

buf

,

1286  const unsigned char

*end,

1291 #if defined(MBEDTLS_SSL_PROTO_TLS1_2) && \ 1292  defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) 1306  unsigned int

sig_alg);

1341 #if defined(MBEDTLS_DEBUG_C) 1370 #if defined(MBEDTLS_SSL_PROTO_TLS1_2) 1460  unsigned

update_hs_digest);

1469  unsigned char

**

buf

,

size_t

*buf_len);

1473  int

update_checksum,

1485  size_t

buf_len,

size_t

msg_len);

1516  unsigned char const

*

msg

,

1522  size_t

total_hs_len);

1524 #if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) 1525 #if !defined(MBEDTLS_USE_PSA_CRYPTO) 1532 #if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) 1533 #if defined(MBEDTLS_SSL_CLI_C) || defined(MBEDTLS_SSL_SRV_C) 1537 #if defined(MBEDTLS_USE_PSA_CRYPTO) 1549  return

ssl->handshake->psk_opaque;

1553  return

ssl->conf->psk_opaque;

1566  const unsigned char

**psk,

size_t

*psk_len)

1568  if

(ssl->handshake->psk !=

NULL

&& ssl->handshake->psk_len > 0) {

1569

*psk = ssl->handshake->psk;

1570

*psk_len = ssl->handshake->psk_len;

1571

}

else if

(ssl->conf->psk !=

NULL

&& ssl->conf->psk_len > 0) {

1572

*psk = ssl->conf->psk;

1573

*psk_len = ssl->conf->psk_len;

1586 #if defined(MBEDTLS_PK_C) 1595 #if defined(MBEDTLS_SSL_PROTO_TLS1_2) 1602 #if defined(MBEDTLS_PK_HAVE_ECC_KEYS) 1645 #if defined(MBEDTLS_DEBUG_C) 1656 #if defined(MBEDTLS_SSL_DTLS_SRTP) 1657 static inline

mbedtls_ssl_srtp_profile mbedtls_ssl_check_srtp_profile_value

1658

(

const uint16_t

srtp_profile_value)

1660  switch

(srtp_profile_value) {

1661  case

MBEDTLS_TLS_SRTP_AES128_CM_HMAC_SHA1_80:

1662  case

MBEDTLS_TLS_SRTP_AES128_CM_HMAC_SHA1_32:

1663  case

MBEDTLS_TLS_SRTP_NULL_HMAC_SHA1_80:

1664  case

MBEDTLS_TLS_SRTP_NULL_HMAC_SHA1_32:

1665  return

srtp_profile_value;

1668  return

MBEDTLS_TLS_SRTP_UNSET;

1672 #if defined(MBEDTLS_X509_CRT_PARSE_C) 1675

mbedtls_ssl_key_cert *key_cert;

1677  if

(ssl->handshake !=

NULL

&& ssl->handshake->key_cert !=

NULL

) {

1678

key_cert = ssl->handshake->key_cert;

1679 #if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) 1682

&& ssl->handshake && ssl->handshake->sni_key_cert) {

1683

key_cert = ssl->handshake->sni_key_cert;

1686

key_cert = ssl->conf->key_cert;

1689  return

key_cert ==

NULL

?

NULL

: key_cert->key;

1694

mbedtls_ssl_key_cert *key_cert;

1696  if

(ssl->handshake !=

NULL

&& ssl->handshake->key_cert !=

NULL

) {

1697

key_cert = ssl->handshake->key_cert;

1698 #if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) 1701

&& ssl->handshake && ssl->handshake->sni_key_cert) {

1702

key_cert = ssl->handshake->sni_key_cert;

1705

key_cert = ssl->conf->key_cert;

1708  return

key_cert ==

NULL

?

NULL

: key_cert->cert;

1769 #if !defined(MBEDTLS_SSL_PROTO_DTLS) 1773 #if defined(MBEDTLS_SSL_PROTO_DTLS) 1785  return

(

size_t

) (ssl->out_iv - ssl->out_hdr);

1790 #if defined(MBEDTLS_SSL_PROTO_DTLS) 1800 #if defined(MBEDTLS_SSL_PROTO_DTLS) 1810 #if defined(MBEDTLS_SSL_DTLS_ANTI_REPLAY) 1820 #if defined(MBEDTLS_SSL_PROTO_TLS1_2) 1824  unsigned char

*

hash

,

size_t

*hashlen,

1825  unsigned char

*

data

,

size_t

data_len,

1838  int

(*f_rng)(

void

*,

unsigned char

*,

size_t

),

1848 #if defined(MBEDTLS_SSL_PROTO_DTLS) 1858 #if defined(MBEDTLS_SSL_PROTO_DTLS) 1888  unsigned char

alert_type,

1892 #define MBEDTLS_SSL_PEND_FATAL_ALERT(type, user_return_value) \ 1893  mbedtls_ssl_pend_fatal_alert(ssl, type, user_return_value) 1895 #if defined(MBEDTLS_SSL_DTLS_ANTI_REPLAY) 1901 #if defined(MBEDTLS_SSL_RENEGOTIATION) 1906 #if defined(MBEDTLS_SSL_PROTO_DTLS) 1916 #if defined(MBEDTLS_SSL_PROTO_TLS1_3) 1925 #if defined(MBEDTLS_SSL_PROTO_TLS1_2) 1936 #if defined(MBEDTLS_SSL_PROTO_TLS1_3) 1947 #if defined(MBEDTLS_SSL_PROTO_TLS1_2) 1956 #if defined(MBEDTLS_SSL_PROTO_TLS1_2) && defined(MBEDTLS_SSL_PROTO_TLS1_3) 1957 static inline int

mbedtls_ssl_conf_is_hybrid_tls12_tls13(

const mbedtls_ssl_config

*conf)

1964 #if defined(MBEDTLS_SSL_PROTO_TLS1_3) 2004  unsigned char

*

buf

,

2031  return

(ssl->conf->tls13_kex_modes & kex_mode_mask) != 0;

2036  return

mbedtls_ssl_conf_tls13_is_kex_mode_enabled(ssl,

2040 static inline int

mbedtls_ssl_conf_tls13_is_psk_ephemeral_enabled(

mbedtls_ssl_context

*ssl)

2042  return

mbedtls_ssl_conf_tls13_is_kex_mode_enabled(ssl,

2048  return

mbedtls_ssl_conf_tls13_is_kex_mode_enabled(ssl,

2052 static inline int

mbedtls_ssl_conf_tls13_is_some_ephemeral_enabled(

mbedtls_ssl_context

*ssl)

2054  return

mbedtls_ssl_conf_tls13_is_kex_mode_enabled(ssl,

2060  return

mbedtls_ssl_conf_tls13_is_kex_mode_enabled(ssl,

2064 #if defined(MBEDTLS_SSL_SRV_C) && \ 2065  defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED) 2079  return

(ssl->handshake->tls13_kex_modes & kex_modes_mask) != 0;

2084  return

mbedtls_ssl_tls13_is_kex_mode_supported(ssl,

2088 static inline int

mbedtls_ssl_tls13_is_psk_ephemeral_supported(

2091  return

mbedtls_ssl_tls13_is_kex_mode_supported(ssl,

2097  return

mbedtls_ssl_tls13_is_kex_mode_supported(ssl,

2101 static inline int

mbedtls_ssl_tls13_is_some_ephemeral_supported(

mbedtls_ssl_context

*ssl)

2103  return

mbedtls_ssl_tls13_is_kex_mode_supported(ssl,

2109  return

mbedtls_ssl_tls13_is_kex_mode_supported(ssl,

2123  unsigned int

received_extension_type,

2124  uint32_t

hs_msg_allowed_extensions_mask);

2126 static inline void

mbedtls_ssl_tls13_set_hs_sent_ext_mask(

2129

ssl->handshake->sent_extensions |=

2136 static inline int

mbedtls_ssl_tls13_key_exchange_mode_check(

2139  return

(ssl->handshake->key_exchange_mode & kex_mask) != 0;

2142 static inline int

mbedtls_ssl_tls13_key_exchange_mode_with_psk(

2145  return

mbedtls_ssl_tls13_key_exchange_mode_check(ssl,

2149 static inline int

mbedtls_ssl_tls13_key_exchange_mode_with_ephemeral(

2152  return

mbedtls_ssl_tls13_key_exchange_mode_check(ssl,

2162  unsigned char

**

buf

,

2188  const unsigned char

*

buf

,

const unsigned char

*end,

2189  const unsigned char

**supported_versions_data,

2190  const unsigned char

**supported_versions_data_end);

2198 #if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) 2228 #if defined(PSA_WANT_ALG_ECDH) || defined(PSA_WANT_ALG_FFDH) 2233  unsigned char

*

buf

,

2238 #if defined(MBEDTLS_SSL_EARLY_DATA) 2240  int

in_new_session_ticket,

2241  unsigned char

*

buf

,

2242  const unsigned char

*end,

2246  size_t

early_data_len);

2253

MBEDTLS_SSL_EARLY_DATA_STATE_IDLE,

2259

MBEDTLS_SSL_EARLY_DATA_STATE_NO_IND_SENT,

2268

MBEDTLS_SSL_EARLY_DATA_STATE_IND_SENT,

2276

MBEDTLS_SSL_EARLY_DATA_STATE_CAN_WRITE,

2282

MBEDTLS_SSL_EARLY_DATA_STATE_ACCEPTED,

2288

MBEDTLS_SSL_EARLY_DATA_STATE_REJECTED,

2295

MBEDTLS_SSL_EARLY_DATA_STATE_SERVER_FINISHED_RECEIVED,

2297

} mbedtls_ssl_early_data_state;

2302 #if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) 2308  const unsigned char

*end,

size_t

*out_len);

2314  const unsigned char

*

buf

,

2315  const unsigned char

*end);

2339  #if defined(MBEDTLS_DEPRECATED_REMOVED) || !defined(MBEDTLS_ECP_C) 2340  return

ssl->conf->group_list;

2342  if

((ssl->handshake !=

NULL

) && (ssl->handshake->group_list !=

NULL

)) {

2343  return

ssl->handshake->group_list;

2345  return

ssl->conf->group_list;

2394  if

(group_list ==

NULL

) {

2398  for

(; *group_list != 0; group_list++) {

2409 #if defined(PSA_WANT_ALG_ECDH) 2417 #if defined(PSA_WANT_ALG_FFDH) 2422 #if !defined(PSA_WANT_ALG_ECDH) && !defined(PSA_WANT_ALG_FFDH) 2443 #if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) 2445 #if !defined(MBEDTLS_DEPRECATED_REMOVED) 2446  if

(ssl->handshake !=

NULL

&&

2447

ssl->handshake->sig_algs_heap_allocated == 1 &&

2448

ssl->handshake->sig_algs !=

NULL

) {

2449  return

ssl->handshake->sig_algs;

2452  return

ssl->conf->sig_algs;

2461 #if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) 2465  const uint16_t

*sig_alg = ssl->handshake->received_sig_algs;

2466  if

(sig_alg ==

NULL

) {

2470  for

(; *sig_alg != MBEDTLS_TLS_SIG_NONE; sig_alg++) {

2471  if

(*sig_alg == own_sig_alg) {

2478 static inline int

mbedtls_ssl_tls13_sig_alg_for_cert_verify_is_supported(

2482 #if defined(MBEDTLS_PK_CAN_ECDSA_SOME) 2483 #if defined(PSA_WANT_ALG_SHA_256) && defined(PSA_WANT_ECC_SECP_R1_256) 2487 #if defined(PSA_WANT_ALG_SHA_384) && defined(PSA_WANT_ECC_SECP_R1_384) 2491 #if defined(PSA_WANT_ALG_SHA_512) && defined(PSA_WANT_ECC_SECP_R1_521) 2497 #if defined(MBEDTLS_PKCS1_V21) 2498 #if defined(PSA_WANT_ALG_SHA_256) 2502 #if defined(PSA_WANT_ALG_SHA_384) 2506 #if defined(PSA_WANT_ALG_SHA_512) 2518 static inline int

mbedtls_ssl_tls13_sig_alg_is_supported(

2522 #if defined(MBEDTLS_PKCS1_V15) 2523 #if defined(MBEDTLS_MD_CAN_SHA256) 2527 #if defined(MBEDTLS_MD_CAN_SHA384) 2531 #if defined(MBEDTLS_MD_CAN_SHA512) 2537  return

mbedtls_ssl_tls13_sig_alg_for_cert_verify_is_supported(

2548 #if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) 2553  if

(sig_alg ==

NULL

) {

2557  for

(; *sig_alg != MBEDTLS_TLS_SIG_NONE; sig_alg++) {

2558  if

(*sig_alg == proposed_sig_alg) {

2565 static inline int

mbedtls_ssl_get_pk_type_and_md_alg_from_sig_alg(

2576 #if defined(MBEDTLS_PKCS1_V21) 2577 #if defined(MBEDTLS_MD_CAN_SHA256) 2583 #if defined(MBEDTLS_MD_CAN_SHA384) 2589 #if defined(MBEDTLS_MD_CAN_SHA512) 2602 #if defined(MBEDTLS_SSL_PROTO_TLS1_2) 2603 static inline int

mbedtls_ssl_tls12_sig_alg_is_supported(

2611 #if defined(MBEDTLS_MD_CAN_MD5) 2616 #if defined(MBEDTLS_MD_CAN_SHA1) 2621 #if defined(MBEDTLS_MD_CAN_SHA224) 2626 #if defined(MBEDTLS_MD_CAN_SHA256) 2631 #if defined(MBEDTLS_MD_CAN_SHA384) 2636 #if defined(MBEDTLS_MD_CAN_SHA512) 2646 #if defined(MBEDTLS_RSA_C) 2651 #if defined(MBEDTLS_KEY_EXCHANGE_ECDSA_CERT_REQ_ALLOWED_ENABLED) 2664 static inline int

mbedtls_ssl_sig_alg_is_supported(

2669 #if defined(MBEDTLS_SSL_PROTO_TLS1_2) 2671  return

mbedtls_ssl_tls12_sig_alg_is_supported(sig_alg);

2675 #if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) 2677  return

mbedtls_ssl_tls13_sig_alg_is_supported(sig_alg);

2686 #if defined(MBEDTLS_USE_PSA_CRYPTO) || defined(MBEDTLS_SSL_PROTO_TLS1_3) 2691 #define MBEDTLS_SSL_NULL_CIPHER 0x04000000 2717 #if !defined(MBEDTLS_DEPRECATED_REMOVED) 2749 #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) && \ 2750  defined(MBEDTLS_USE_PSA_CRYPTO) 2753

MBEDTLS_ECJPAKE_ROUND_ONE,

2754

MBEDTLS_ECJPAKE_ROUND_TWO

2755

} mbedtls_ecjpake_rounds_t;

2769 int

mbedtls_psa_ecjpake_read_round(

2771  const unsigned char

*

buf

,

2772  size_t len

, mbedtls_ecjpake_rounds_t

round

);

2787 int

mbedtls_psa_ecjpake_write_round(

2789  unsigned char

*

buf

,

2790  size_t len

,

size_t

*olen,

2791

mbedtls_ecjpake_rounds_t

round

);

2808 #if defined(MBEDTLS_SSL_SOME_SUITES_USE_CBC_ETM) 2810  int

encrypt_then_mac,

2817 #if defined(PSA_WANT_ALG_ECDH) || defined(PSA_WANT_ALG_FFDH) 2821  const unsigned char

*

buf

,

2829  const int

*ciphersuite_list = ssl->conf->ciphersuite_list;

2832  for

(

size_t i

= 0; ciphersuite_list[

i

] != 0;

i

++) {

2833  if

(ciphersuite_list[

i

] == cipher_suite) {

2857 #if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) 2860  const unsigned char

*

buf

,

2861  const unsigned char

*end);

2864 #if defined(MBEDTLS_SSL_RECORD_SIZE_LIMIT) 2865 #define MBEDTLS_SSL_RECORD_SIZE_LIMIT_EXTENSION_DATA_LENGTH (2) 2866 #define MBEDTLS_SSL_RECORD_SIZE_LIMIT_MIN (64) 2870  const unsigned char

*

buf

,

2871  const unsigned char

*end);

2875  unsigned char

*

buf

,

2876  const unsigned char

*end,

2880 #if defined(MBEDTLS_SSL_ALPN) 2883  const unsigned char

*

buf

,

2884  const unsigned char

*end);

2889  unsigned char

*

buf

,

2894 #if defined(MBEDTLS_TEST_HOOKS) 2895 int

mbedtls_ssl_check_dtls_clihlo_cookie(

2897  const unsigned char

*cli_id,

size_t

cli_id_len,

2898  const unsigned char

*

in

,

size_t

in_len,

2899  unsigned char

*obuf,

size_t

buf_len,

size_t

*olen);

2902 #if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED) 2919  unsigned char

*

buf

,

unsigned char

*end,

2920  size_t

*out_len,

size_t

*binders_len);

2934  unsigned char

*

buf

,

unsigned char

*end);

2937 #if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) 2949 #if defined(MBEDTLS_SSL_PROTO_TLS1_3) && \ 2950  defined(MBEDTLS_SSL_SESSION_TICKETS) && \ 2951  defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) && \ 2952  defined(MBEDTLS_SSL_CLI_C) 2955  const char

*hostname);

2958 #if defined(MBEDTLS_SSL_SRV_C) && defined(MBEDTLS_SSL_EARLY_DATA) && \ 2959  defined(MBEDTLS_SSL_ALPN) 2965 #if defined(MBEDTLS_SSL_PROTO_TLS1_3) && defined(MBEDTLS_SSL_SESSION_TICKETS) 2967 #define MBEDTLS_SSL_TLS1_3_MAX_ALLOWED_TICKET_LIFETIME (604800) 2969 static inline unsigned int

mbedtls_ssl_tls13_session_get_ticket_flags(

2972  return

session->ticket_flags &

2973

(

flags

& MBEDTLS_SSL_TLS1_3_TICKET_FLAGS_MASK);

2982 static inline int

mbedtls_ssl_tls13_session_ticket_has_flags(

2985  return

mbedtls_ssl_tls13_session_get_ticket_flags(session,

flags

) != 0;

2988 static inline int

mbedtls_ssl_tls13_session_ticket_allow_psk(

2991  return

mbedtls_ssl_tls13_session_ticket_has_flags(

2992

session, MBEDTLS_SSL_TLS1_3_TICKET_ALLOW_PSK_RESUMPTION);

2995 static inline int

mbedtls_ssl_tls13_session_ticket_allow_psk_ephemeral(

2998  return

mbedtls_ssl_tls13_session_ticket_has_flags(

2999

session, MBEDTLS_SSL_TLS1_3_TICKET_ALLOW_PSK_EPHEMERAL_RESUMPTION);

3002 static inline unsigned int

mbedtls_ssl_tls13_session_ticket_allow_early_data(

3005  return

mbedtls_ssl_tls13_session_ticket_has_flags(

3006

session, MBEDTLS_SSL_TLS1_3_TICKET_ALLOW_EARLY_DATA);

3009 static inline void

mbedtls_ssl_tls13_session_set_ticket_flags(

3012

session->ticket_flags |= (

flags

& MBEDTLS_SSL_TLS1_3_TICKET_FLAGS_MASK);

3015 static inline void

mbedtls_ssl_tls13_session_clear_ticket_flags(

3018

session->ticket_flags &= ~(

flags

& MBEDTLS_SSL_TLS1_3_TICKET_FLAGS_MASK);

3023 #if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_CLI_C) 3024 #define MBEDTLS_SSL_SESSION_TICKETS_TLS1_2_BIT 0 3025 #define MBEDTLS_SSL_SESSION_TICKETS_TLS1_3_BIT 1 3027 #define MBEDTLS_SSL_SESSION_TICKETS_TLS1_2_MASK \ 3028  (1 << MBEDTLS_SSL_SESSION_TICKETS_TLS1_2_BIT) 3029 #define MBEDTLS_SSL_SESSION_TICKETS_TLS1_3_MASK \ 3030  (1 << MBEDTLS_SSL_SESSION_TICKETS_TLS1_3_BIT) 3032 #if defined(MBEDTLS_SSL_PROTO_TLS1_2) 3033 static inline int

mbedtls_ssl_conf_get_session_tickets(

3036  return

conf->session_tickets & MBEDTLS_SSL_SESSION_TICKETS_TLS1_2_MASK ?

3042 #if defined(MBEDTLS_SSL_PROTO_TLS1_3) 3043 static inline int

mbedtls_ssl_conf_is_signal_new_session_tickets_enabled(

3046  return

conf->session_tickets & MBEDTLS_SSL_SESSION_TICKETS_TLS1_3_MASK ?

3053 #if defined(MBEDTLS_SSL_CLI_C) && defined(MBEDTLS_SSL_PROTO_TLS1_3) 3057 #if defined(MBEDTLS_TEST_HOOKS) && defined(MBEDTLS_SSL_SOME_SUITES_USE_MAC) 3095 #if defined(MBEDTLS_USE_PSA_CRYPTO) 3098  const unsigned char

*add_data,

3099  size_t

add_data_len,

3100  const unsigned char

*

data

,

3101  size_t

data_len_secret,

3102  size_t

min_data_len,

3103  size_t

max_data_len,

3104  unsigned char

*

output

);

3107  const unsigned char

*add_data,

3108  size_t

add_data_len,

3109  const unsigned char

*

data

,

3110  size_t

data_len_secret,

3111  size_t

min_data_len,

3112  size_t

max_data_len,

3113  unsigned char

*

output

);

#define MBEDTLS_BYTE_1(x)

#define MBEDTLS_BYTE_0(x)

Byte Reading Macros.

void transform(Container &c, UnaryFunction *op)

This file contains an abstraction interface for use with the cipher primitives provided by the librar...

mbedtls_cipher_type_t

Supported {cipher type, cipher mode} pairs.

Platform Security Architecture cryptography module.

#define PSA_EXPORT_PUBLIC_KEY_MAX_SIZE

Sufficient buffer size for exporting any asymmetric public key.

Functions for controlling and providing debug output from the library.

#define MBEDTLS_SSL_DEBUG_MSG(level, args)

Internal part of the public "debug.h".

mbedtls_ecp_group_id

Domain-parameter identifiers: curve, subgroup, and generator.

static DLIST_TYPE *DLIST_NAME() next(DLIST_LIST_TYPE *list, DLIST_TYPE *item)

static SQLCHAR output[256]

static const char label[]

uint16_t psa_key_type_t

Encoding of a key type.

uint32_t psa_algorithm_t

Encoding of a cryptographic algorithm.

int32_t psa_status_t

Function return status.

#define PSA_ERROR_NOT_SUPPORTED

The requested operation or a parameter is not supported by this implementation.

#define PSA_ERROR_INVALID_SIGNATURE

The signature, MAC or hash is incorrect.

#define PSA_SUCCESS

The action was completed successfully.

#define PSA_ERROR_BUFFER_TOO_SMALL

An output buffer is too small.

#define PSA_ERROR_INVALID_ARGUMENT

The parameters passed to the function are invalid.

#define PSA_ERROR_INSUFFICIENT_MEMORY

There is not enough runtime memory.

#define PSA_ERROR_BAD_STATE

The requested action cannot be performed in the current state.

static int mbedtls_svc_key_id_is_null(mbedtls_svc_key_id_t key)

Check whether a key identifier is null.

#define MBEDTLS_SVC_KEY_ID_INIT

psa_key_id_t mbedtls_svc_key_id_t

Encoding of key identifiers as seen inside the PSA Crypto implementation.

unsigned int

A callback function used to compare two keys in a database.

void mbedtls_x509_crt_restart_ctx

Build-time configuration info.

mbedtls_md_type_t

Supported message digests.

@ MBEDTLS_MD_SHA512

The SHA-512 message digest.

@ MBEDTLS_MD_SHA384

The SHA-384 message digest.

@ MBEDTLS_MD_SHA256

The SHA-256 message digest.

const string version

version string

const struct ncbi::grid::netcache::search::fields::KEY key

#define mbedtls_ssl_write_sig_alg_ext

#define mbedtls_ssl_sig_from_pk

#define mbedtls_ssl_derive_keys

#define mbedtls_ssl_get_hostname_pointer

#define mbedtls_ssl_tls13_write_binders_of_pre_shared_key_ext

#define mbedtls_ssl_reset_transcript_for_hrr

#define mbedtls_ssl_sig_from_pk_alg

#define mbedtls_ssl_tls12_write_client_hello_exts

#define mbedtls_ssl_check_curve

#define mbedtls_ssl_verify_certificate

#define mbedtls_ssl_get_input_max_frag_len

#define mbedtls_ssl_tls13_check_received_extension

#define mbedtls_ssl_buffering_free

#define mbedtls_ssl_tls13_write_certificate

#define mbedtls_ssl_tls13_hello_retry_request_magic

#define mbedtls_ssl_get_current_mtu

#define mbedtls_ssl_tls13_finalize_client_hello

#define mbedtls_ssl_tls13_fetch_handshake_msg

#define mbedtls_ssl_states_str

#define mbedtls_ssl_tls13_generate_and_write_xxdh_key_exchange

#define mbedtls_ssl_cipher_to_psa

#define mbedtls_ssl_tls13_check_sig_alg_cert_key_match

#define mbedtls_ssl_tls13_handshake_server_step

#define mbedtls_ssl_tls13_process_finished_message

#define mbedtls_ssl_parse_server_name_ext

#define mbedtls_ssl_pk_alg_from_sig

#define mbedtls_ssl_parse_sig_alg_ext

#define mbedtls_ssl_tls12_get_preferred_hash_for_sig_alg

#define mbedtls_ssl_resend_hello_request

#define mbedtls_ssl_tls13_process_certificate

#define mbedtls_ssl_tls13_write_certificate_verify

#define mbedtls_ssl_dtls_replay_reset

#define mbedtls_ssl_tls13_handshake_client_step

#define mbedtls_ssl_write_alpn_ext

#define mbedtls_ssl_resend

#define mbedtls_ssl_start_renegotiation

#define mbedtls_ssl_parse_alpn_ext

#define mbedtls_ssl_tls13_write_finished_message

#define mbedtls_ssl_tls13_write_identities_of_pre_shared_key_ext

#define mbedtls_ssl_conf_has_static_psk

#define mbedtls_ssl_tls13_write_change_cipher_spec

#define mbedtls_ssl_flight_transmit

#define mbedtls_ssl_tls13_process_certificate_verify

#define mbedtls_ssl_get_output_max_frag_len

#define mbedtls_ssl_get_curve_name_from_tls_id

#define mbedtls_ssl_session_set_hostname

#define mbedtls_ssl_tls13_is_supported_versions_ext_present_in_exts

#define mbedtls_ssl_psk_derive_premaster

#define mbedtls_ssl_flight_free

#define mbedtls_ssl_dtls_replay_update

#define mbedtls_ssl_set_calc_verify_md

#define mbedtls_ssl_check_cert_usage

#define mbedtls_ssl_tls13_read_public_xxdhe_share

#define mbedtls_ssl_recv_flight_completed

#define mbedtls_ssl_send_flight_completed

#define mbedtls_ssl_tls13_handshake_wrapup

#define mbedtls_ssl_tls13_crypto_init

#define mbedtls_ssl_tls13_write_client_hello_exts

#define mbedtls_ssl_dtls_replay_check

#define mbedtls_ssl_get_key_exchange_md_tls1_2

std::istream & in(std::istream &in_, double &x_)

Public Key abstraction layer.

mbedtls_pk_type_t

Public key types.

Public Key abstraction layer: internal (i.e.

#define MBEDTLS_DEPRECATED

#define MBEDTLS_CHECK_RETURN_CRITICAL

Critical-failure function.

Internal utility functions for use of PSA Crypto.

This file contains SHA-1 definitions and functions.

This file contains SHA-224 and SHA-256 definitions and functions.

This file contains SHA-384 and SHA-512 definitions and functions.

static SLJIT_INLINE sljit_ins msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)

Error to string translation.

#define MBEDTLS_ERR_PLATFORM_HW_ACCEL_FAILED

Hardware accelerator failed.

MD5 message digest algorithm (hash function)

#define MBEDTLS_SSL_TLS1_3_SIGNAL_NEW_SESSION_TICKETS_ENABLED

#define MBEDTLS_SSL_CID_OUT_LEN_MAX

The maximum length of CIDs used for outgoing DTLS messages.

#define MBEDTLS_SSL_IANA_TLS_GROUP_X25519

#define MBEDTLS_SSL_IS_CLIENT

#define MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ALL

#define MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA256

#define MBEDTLS_SSL_SIG_RSA

#define MBEDTLS_SSL_HASH_SHA1

#define MBEDTLS_SSL_CID_IN_LEN_MAX

The maximum length of CIDs used for incoming DTLS messages.

#define MBEDTLS_SSL_IANA_TLS_GROUP_SECP224R1

#define MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA384

#define MBEDTLS_TLS1_3_SIG_ECDSA_SECP256R1_SHA256

mbedtls_ssl_protocol_version

Human-friendly representation of the (D)TLS protocol version.

@ MBEDTLS_SSL_VERSION_TLS1_2

@ MBEDTLS_SSL_VERSION_TLS1_3

#define MBEDTLS_ERR_SSL_PRIVATE_KEY_REQUIRED

The own private key or pre-shared key is not set, but needed.

#define MBEDTLS_SSL_IANA_TLS_GROUP_SECP521R1

#define MBEDTLS_SSL_SEQUENCE_NUMBER_LEN

#define MBEDTLS_SSL_IANA_TLS_GROUP_SECP384R1

#define MBEDTLS_SSL_HASH_SHA224

#define MBEDTLS_SSL_IANA_TLS_GROUP_BP512R1

#define MBEDTLS_SSL_TLS1_3_SIGNAL_NEW_SESSION_TICKETS_DISABLED

#define MBEDTLS_SSL_IANA_TLS_GROUP_SECP192K1

#define MBEDTLS_SSL_SESSION_TICKETS_ENABLED

#define MBEDTLS_ERR_SSL_BAD_INPUT_DATA

Bad input parameters to function.

#define MBEDTLS_SSL_HASH_SHA256

#define MBEDTLS_TLS1_3_SIG_RSA_PKCS1_SHA512

#define MBEDTLS_ERR_SSL_ALLOC_FAILED

Memory allocation failed.

#define MBEDTLS_SSL_IANA_TLS_GROUP_BP256R1

#define MBEDTLS_SSL_HASH_MD5

#define MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ALL

#define MBEDTLS_SSL_SESSION_TICKETS_DISABLED

#define MBEDTLS_TLS1_3_SIG_ECDSA_SECP384R1_SHA384

#define MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL

#define MBEDTLS_TLS1_3_SIG_RSA_PKCS1_SHA384

#define MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK

#define MBEDTLS_SSL_IANA_TLS_GROUP_SECP192R1

#define MBEDTLS_SSL_IANA_TLS_GROUP_X448

#define MBEDTLS_SSL_IANA_TLS_GROUP_SECP256R1

#define MBEDTLS_TLS1_3_SIG_RSA_PKCS1_SHA256

#define MBEDTLS_SSL_SIG_ECDSA

#define MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA512

#define MBEDTLS_SSL_IANA_TLS_GROUP_SECP256K1

#define MBEDTLS_TLS1_3_MD_MAX_SIZE

#define MBEDTLS_SSL_IANA_TLS_GROUP_SECP224K1

#define MBEDTLS_SSL_HASH_SHA384

#define MBEDTLS_SSL_IANA_TLS_GROUP_FFDHE8192

#define MBEDTLS_SSL_TRANSPORT_DATAGRAM

#define MBEDTLS_ERR_SSL_INVALID_MAC

Verification of the message MAC failed.

#define MBEDTLS_ERR_SSL_BUFFER_TOO_SMALL

A buffer is too small to receive or write a message.

#define MBEDTLS_SSL_IANA_TLS_GROUP_FFDHE2048

#define MBEDTLS_PREMASTER_SIZE

#define MBEDTLS_SSL_IANA_TLS_GROUP_BP384R1

#define MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL

#define MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE

The requested feature is not available.

#define MBEDTLS_SSL_HASH_SHA512

#define MBEDTLS_ERR_SSL_INTERNAL_ERROR

Internal error (eg, unexpected failure in lower-level module)

#define MBEDTLS_TLS1_3_SIG_ECDSA_SECP521R1_SHA512

mbedtls_key_exchange_type_t

Internal part of the public "ssl_ciphersuites.h".

uint16_t mbedtls_ssl_read_version(const unsigned char version[2], int transport)

static size_t mbedtls_ssl_out_hdr_len(const mbedtls_ssl_context *ssl)

#define MBEDTLS_CLIENT_HELLO_RANDOM_LEN

static int mbedtls_ssl_write_handshake_msg(mbedtls_ssl_context *ssl)

void mbedtls_ssl_transform_init(mbedtls_ssl_transform *transform)

static size_t mbedtls_ssl_in_hdr_len(const mbedtls_ssl_context *ssl)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_validate_ciphersuite(const mbedtls_ssl_context *ssl, const mbedtls_ssl_ciphersuite_t *suite_info, mbedtls_ssl_protocol_version min_tls_version, mbedtls_ssl_protocol_version max_tls_version)

Validate cipher suite against config in SSL context.

void mbedtls_ssl_write_version(unsigned char version[2], int transport, mbedtls_ssl_protocol_version tls_version)

static int mbedtls_ssl_conf_is_tls12_enabled(const mbedtls_ssl_config *conf)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_finish_handshake_msg(mbedtls_ssl_context *ssl, size_t buf_len, size_t msg_len)

#define MBEDTLS_SSL_MAX_BUFFERED_HS

void mbedtls_ssl_handshake_free(mbedtls_ssl_context *ssl)

Free referenced items in an SSL handshake context and clear memory.

static size_t mbedtls_ssl_ep_len(const mbedtls_ssl_context *ssl)

void mbedtls_ssl_session_reset_msg_layer(mbedtls_ssl_context *ssl, int partial)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_parse_certificate(mbedtls_ssl_context *ssl)

#define MBEDTLS_SSL_CID_LEN_MAX

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_handshake_client_step(mbedtls_ssl_context *ssl)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_handle_message_type(mbedtls_ssl_context *ssl)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_read_record(mbedtls_ssl_context *ssl, unsigned update_hs_digest)

Update record layer.

void mbedtls_ssl_update_out_pointers(mbedtls_ssl_context *ssl, mbedtls_ssl_transform *transform)

void mbedtls_ssl_update_in_pointers(mbedtls_ssl_context *ssl)

#define MBEDTLS_SSL_HEADER_LEN

void mbedtls_ssl_set_outbound_transform(mbedtls_ssl_context *ssl, mbedtls_ssl_transform *transform)

void mbedtls_ssl_transform_free(mbedtls_ssl_transform *transform)

Free referenced items in an SSL transform context and clear memory.

#define MBEDTLS_SERVER_HELLO_RANDOM_LEN

static int mbedtls_ssl_transform_uses_aead(const mbedtls_ssl_transform *transform)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_write_handshake_msg_ext(mbedtls_ssl_context *ssl, int update_checksum, int force_flush)

mbedtls_md_type_t mbedtls_ssl_md_alg_from_hash(unsigned char hash)

static int mbedtls_ssl_conf_is_tls13_enabled(const mbedtls_ssl_config *conf)

ssl utils functions for checking configuration.

void mbedtls_ssl_reset_in_pointers(mbedtls_ssl_context *ssl)

void mbedtls_ssl_handshake_wrapup(mbedtls_ssl_context *ssl)

static int mbedtls_ssl_tls12_named_group_is_ecdhe(uint16_t named_group)

mbedtls_ssl_mode_t mbedtls_ssl_get_mode_from_transform(const mbedtls_ssl_transform *transform)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_start_handshake_msg(mbedtls_ssl_context *ssl, unsigned char hs_type, unsigned char **buf, size_t *buf_len)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_handshake_server_step(mbedtls_ssl_context *ssl)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_decrypt_buf(mbedtls_ssl_context const *ssl, mbedtls_ssl_transform *transform, mbedtls_record *rec)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_flush_output(mbedtls_ssl_context *ssl)

static const void * mbedtls_ssl_get_sig_algs(const mbedtls_ssl_context *ssl)

uint32_t mbedtls_ssl_get_extension_id(unsigned int extension_type)

static void mbedtls_ssl_handshake_set_state(mbedtls_ssl_context *ssl, mbedtls_ssl_states state)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_add_hs_hdr_to_checksum(mbedtls_ssl_context *ssl, unsigned hs_type, size_t total_hs_len)

static void mbedtls_ssl_handshake_increment_state(mbedtls_ssl_context *ssl)

uint32_t mbedtls_ssl_get_extension_mask(unsigned int extension_type)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_write_record(mbedtls_ssl_context *ssl, int force_flush)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_write_change_cipher_spec(mbedtls_ssl_context *ssl)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_session_reset_int(mbedtls_ssl_context *ssl, int partial)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_handle_pending_alert(mbedtls_ssl_context *ssl)

static int mbedtls_ssl_named_group_is_supported(uint16_t named_group)

void mbedtls_ssl_handshake_wrapup_free_hs_transform(mbedtls_ssl_context *ssl)

int mbedtls_ssl_get_psa_curve_info_from_tls_id(uint16_t tls_id, psa_key_type_t *type, size_t *bits)

Return PSA EC info for the specified TLS ID.

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_session_copy(mbedtls_ssl_session *dst, const mbedtls_ssl_session *src)

#define MBEDTLS_SSL_MAX_KEY_LENGTH

static int mbedtls_ssl_tls13_named_group_is_ecdhe(uint16_t named_group)

static int mbedtls_ssl_named_group_is_offered(const mbedtls_ssl_context *ssl, uint16_t named_group)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_prepare_handshake_record(mbedtls_ssl_context *ssl)

void mbedtls_ssl_set_inbound_transform(mbedtls_ssl_context *ssl, mbedtls_ssl_transform *transform)

void mbedtls_ssl_reset_out_pointers(mbedtls_ssl_context *ssl)

static int mbedtls_ssl_tls13_named_group_is_ffdh(uint16_t named_group)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_reset_checksum(mbedtls_ssl_context *ssl)

mbedtls_ecp_group_id mbedtls_ssl_get_ecp_group_id_from_tls_id(uint16_t tls_id)

Return mbedtls_ecp_group_id for the specified TLS ID.

void mbedtls_ssl_optimize_checksum(mbedtls_ssl_context *ssl, const mbedtls_ssl_ciphersuite_t *ciphersuite_info)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_fetch_input(mbedtls_ssl_context *ssl, size_t nb_want)

static size_t mbedtls_ssl_hs_hdr_len(const mbedtls_ssl_context *ssl)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_update_handshake_status(mbedtls_ssl_context *ssl)

uint16_t mbedtls_ssl_get_tls_id_from_ecp_group_id(mbedtls_ecp_group_id grp_id)

Return TLS ID for the specified mbedtls_ecp_group_id.

unsigned char mbedtls_ssl_hash_from_md_alg(int md)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_check_timer(mbedtls_ssl_context *ssl)

int mbedtls_ssl_tls_prf_cb(const unsigned char *secret, size_t slen, const char *label, const unsigned char *random, size_t rlen, unsigned char *dstbuf, size_t dlen)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_encrypt_buf(mbedtls_ssl_context *ssl, mbedtls_ssl_transform *transform, mbedtls_record *rec, int(*f_rng)(void *, unsigned char *, size_t), void *p_rng)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_send_fatal_handshake_failure(mbedtls_ssl_context *ssl)

#define MBEDTLS_SSL_MAX_IV_LENGTH

#define MBEDTLS_SSL_PAYLOAD_OVERHEAD

static const void * mbedtls_ssl_get_groups(const mbedtls_ssl_context *ssl)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_add_hs_msg_to_checksum(mbedtls_ssl_context *ssl, unsigned hs_type, unsigned char const *msg, size_t msg_len)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_write_certificate(mbedtls_ssl_context *ssl)

static int mbedtls_ssl_chk_buf_ptr(const uint8_t *cur, const uint8_t *end, size_t need)

This function checks if the remaining size in a buffer is greater or equal than a needed space.

mbedtls_ssl_mode_t mbedtls_ssl_get_mode_from_ciphersuite(const mbedtls_ssl_ciphersuite_t *suite)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_parse_finished(mbedtls_ssl_context *ssl)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_get_handshake_transcript(mbedtls_ssl_context *ssl, const mbedtls_md_type_t md, unsigned char *dst, size_t dst_len, size_t *olen)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_write_finished(mbedtls_ssl_context *ssl)

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_parse_change_cipher_spec(mbedtls_ssl_context *ssl)

#define MBEDTLS_RECEIVED_SIG_ALGS_SIZE

void mbedtls_ssl_set_timer(mbedtls_ssl_context *ssl, uint32_t millisecs)

struct mbedtls_ssl_hs_buffer mbedtls_ssl_hs_buffer

MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_check_curve_tls_id(const mbedtls_ssl_context *ssl, uint16_t tls_id)

mbedtls_ssl_mode_t

TLS record protection modes.

@ MBEDTLS_SSL_MODE_STREAM

@ MBEDTLS_SSL_MODE_CBC_ETM

static int mbedtls_ssl_tls13_cipher_suite_is_offered(mbedtls_ssl_context *ssl, int cipher_suite)

void mbedtls_ssl_pend_fatal_alert(mbedtls_ssl_context *ssl, unsigned char alert_type, int alert_reason)

The DHM context structure.

The ECDH context structure.

EC J-PAKE context structure.

The generic message-digest context.

This structure is used for storing ciphersuite information.

SSL/TLS configuration to be shared between mbedtls_ssl_context structures.

MBEDTLS_CHECK_RETURN_CRITICAL int(* update_checksum)(mbedtls_ssl_context *, const unsigned char *, size_t)

MBEDTLS_CHECK_RETURN_CRITICAL int(* calc_verify)(const mbedtls_ssl_context *, unsigned char *, size_t *)

struct mbedtls_ssl_handshake_params::@995::@998 finished_in

unsigned char digest[PSA_HASH_MAX_SIZE]

MBEDTLS_CHECK_RETURN_CRITICAL int(* calc_finished)(mbedtls_ssl_context *, unsigned char *, int)

unsigned char sig_algs_heap_allocated

struct mbedtls_ssl_handshake_params::@994 buffering

struct mbedtls_ssl_handshake_params::@995::@997 finished_out

struct mbedtls_ssl_handshake_params::@994::mbedtls_ssl_hs_buffer hs[4]

size_t total_bytes_buffered

mbedtls_ssl_ciphersuite_t const * ciphersuite_info

mbedtls_ssl_tls_prf_cb * tls_prf

const uint16_t * sig_algs

const uint16_t * group_list

struct mbedtls_ssl_handshake_params::@994::@996 future_record

unsigned char randbytes[32+32]

unsigned char group_list_heap_allocated

union mbedtls_ssl_handshake_params::@995 state_local

The data structure holding the cryptographic material (key and IV) used for record protection in TLS ...

unsigned char server_write_key[32]

unsigned char client_write_key[32]

unsigned char server_write_iv[16]

unsigned char client_write_iv[16]

mbedtls_cipher_context_t cipher_ctx_enc

mbedtls_cipher_context_t cipher_ctx_dec

mbedtls_ssl_protocol_version tls_version

Certificate revocation list structure.

Container for an X.509 certificate.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4