29 #if !defined(MBEDTLS_CONFIG_FILE)
32 #include MBEDTLS_CONFIG_FILE
40 #if defined(MBEDTLS_X509_CRT_PARSE_C)
45 #if defined(MBEDTLS_DHM_C)
49 #if defined(MBEDTLS_ECDH_C)
53 #if defined(MBEDTLS_ZLIB_SUPPORT)
55 #if defined(MBEDTLS_DEPRECATED_WARNING)
56 #warning "Record compression support via MBEDTLS_ZLIB_SUPPORT is deprecated and will be removed in the next major revision of the library"
59 #if defined(MBEDTLS_DEPRECATED_REMOVED)
60 #error "Record compression support via MBEDTLS_ZLIB_SUPPORT is deprecated and cannot be used if MBEDTLS_DEPRECATED_REMOVED is set"
66 #if defined(MBEDTLS_HAVE_TIME)
73 #define MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE -0x7080
74 #define MBEDTLS_ERR_SSL_BAD_INPUT_DATA -0x7100
75 #define MBEDTLS_ERR_SSL_INVALID_MAC -0x7180
76 #define MBEDTLS_ERR_SSL_INVALID_RECORD -0x7200
77 #define MBEDTLS_ERR_SSL_CONN_EOF -0x7280
78 #define MBEDTLS_ERR_SSL_UNKNOWN_CIPHER -0x7300
79 #define MBEDTLS_ERR_SSL_NO_CIPHER_CHOSEN -0x7380
80 #define MBEDTLS_ERR_SSL_NO_RNG -0x7400
81 #define MBEDTLS_ERR_SSL_NO_CLIENT_CERTIFICATE -0x7480
82 #define MBEDTLS_ERR_SSL_CERTIFICATE_TOO_LARGE -0x7500
83 #define MBEDTLS_ERR_SSL_CERTIFICATE_REQUIRED -0x7580
84 #define MBEDTLS_ERR_SSL_PRIVATE_KEY_REQUIRED -0x7600
85 #define MBEDTLS_ERR_SSL_CA_CHAIN_REQUIRED -0x7680
86 #define MBEDTLS_ERR_SSL_UNEXPECTED_MESSAGE -0x7700
87 #define MBEDTLS_ERR_SSL_FATAL_ALERT_MESSAGE -0x7780
88 #define MBEDTLS_ERR_SSL_PEER_VERIFY_FAILED -0x7800
89 #define MBEDTLS_ERR_SSL_PEER_CLOSE_NOTIFY -0x7880
90 #define MBEDTLS_ERR_SSL_BAD_HS_CLIENT_HELLO -0x7900
91 #define MBEDTLS_ERR_SSL_BAD_HS_SERVER_HELLO -0x7980
92 #define MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE -0x7A00
93 #define MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE_REQUEST -0x7A80
94 #define MBEDTLS_ERR_SSL_BAD_HS_SERVER_KEY_EXCHANGE -0x7B00
95 #define MBEDTLS_ERR_SSL_BAD_HS_SERVER_HELLO_DONE -0x7B80
96 #define MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE -0x7C00
97 #define MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_RP -0x7C80
98 #define MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_CS -0x7D00
99 #define MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE_VERIFY -0x7D80
100 #define MBEDTLS_ERR_SSL_BAD_HS_CHANGE_CIPHER_SPEC -0x7E00
101 #define MBEDTLS_ERR_SSL_BAD_HS_FINISHED -0x7E80
102 #define MBEDTLS_ERR_SSL_ALLOC_FAILED -0x7F00
103 #define MBEDTLS_ERR_SSL_HW_ACCEL_FAILED -0x7F80
104 #define MBEDTLS_ERR_SSL_HW_ACCEL_FALLTHROUGH -0x6F80
105 #define MBEDTLS_ERR_SSL_COMPRESSION_FAILED -0x6F00
106 #define MBEDTLS_ERR_SSL_BAD_HS_PROTOCOL_VERSION -0x6E80
107 #define MBEDTLS_ERR_SSL_BAD_HS_NEW_SESSION_TICKET -0x6E00
108 #define MBEDTLS_ERR_SSL_SESSION_TICKET_EXPIRED -0x6D80
109 #define MBEDTLS_ERR_SSL_PK_TYPE_MISMATCH -0x6D00
110 #define MBEDTLS_ERR_SSL_UNKNOWN_IDENTITY -0x6C80
111 #define MBEDTLS_ERR_SSL_INTERNAL_ERROR -0x6C00
112 #define MBEDTLS_ERR_SSL_COUNTER_WRAPPING -0x6B80
113 #define MBEDTLS_ERR_SSL_WAITING_SERVER_HELLO_RENEGO -0x6B00
114 #define MBEDTLS_ERR_SSL_HELLO_VERIFY_REQUIRED -0x6A80
115 #define MBEDTLS_ERR_SSL_BUFFER_TOO_SMALL -0x6A00
116 #define MBEDTLS_ERR_SSL_NO_USABLE_CIPHERSUITE -0x6980
117 #define MBEDTLS_ERR_SSL_WANT_READ -0x6900
118 #define MBEDTLS_ERR_SSL_WANT_WRITE -0x6880
119 #define MBEDTLS_ERR_SSL_TIMEOUT -0x6800
120 #define MBEDTLS_ERR_SSL_CLIENT_RECONNECT -0x6780
121 #define MBEDTLS_ERR_SSL_UNEXPECTED_RECORD -0x6700
122 #define MBEDTLS_ERR_SSL_NON_FATAL -0x6680
123 #define MBEDTLS_ERR_SSL_INVALID_VERIFY_HASH -0x6600
124 #define MBEDTLS_ERR_SSL_CONTINUE_PROCESSING -0x6580
125 #define MBEDTLS_ERR_SSL_ASYNC_IN_PROGRESS -0x6500
126 #define MBEDTLS_ERR_SSL_EARLY_MESSAGE -0x6480
127 #define MBEDTLS_ERR_SSL_CRYPTO_IN_PROGRESS -0x7000
132 #define MBEDTLS_SSL_MAJOR_VERSION_3 3
133 #define MBEDTLS_SSL_MINOR_VERSION_0 0
134 #define MBEDTLS_SSL_MINOR_VERSION_1 1
135 #define MBEDTLS_SSL_MINOR_VERSION_2 2
136 #define MBEDTLS_SSL_MINOR_VERSION_3 3
138 #define MBEDTLS_SSL_TRANSPORT_STREAM 0
139 #define MBEDTLS_SSL_TRANSPORT_DATAGRAM 1
141 #define MBEDTLS_SSL_MAX_HOST_NAME_LEN 255
145 #define MBEDTLS_SSL_MAX_FRAG_LEN_NONE 0
146 #define MBEDTLS_SSL_MAX_FRAG_LEN_512 1
147 #define MBEDTLS_SSL_MAX_FRAG_LEN_1024 2
148 #define MBEDTLS_SSL_MAX_FRAG_LEN_2048 3
149 #define MBEDTLS_SSL_MAX_FRAG_LEN_4096 4
150 #define MBEDTLS_SSL_MAX_FRAG_LEN_INVALID 5
152 #define MBEDTLS_SSL_IS_CLIENT 0
153 #define MBEDTLS_SSL_IS_SERVER 1
155 #define MBEDTLS_SSL_IS_NOT_FALLBACK 0
156 #define MBEDTLS_SSL_IS_FALLBACK 1
158 #define MBEDTLS_SSL_EXTENDED_MS_DISABLED 0
159 #define MBEDTLS_SSL_EXTENDED_MS_ENABLED 1
161 #define MBEDTLS_SSL_ETM_DISABLED 0
162 #define MBEDTLS_SSL_ETM_ENABLED 1
164 #define MBEDTLS_SSL_COMPRESS_NULL 0
165 #define MBEDTLS_SSL_COMPRESS_DEFLATE 1
167 #define MBEDTLS_SSL_VERIFY_NONE 0
168 #define MBEDTLS_SSL_VERIFY_OPTIONAL 1
169 #define MBEDTLS_SSL_VERIFY_REQUIRED 2
170 #define MBEDTLS_SSL_VERIFY_UNSET 3
172 #define MBEDTLS_SSL_LEGACY_RENEGOTIATION 0
173 #define MBEDTLS_SSL_SECURE_RENEGOTIATION 1
175 #define MBEDTLS_SSL_RENEGOTIATION_DISABLED 0
176 #define MBEDTLS_SSL_RENEGOTIATION_ENABLED 1
178 #define MBEDTLS_SSL_ANTI_REPLAY_DISABLED 0
179 #define MBEDTLS_SSL_ANTI_REPLAY_ENABLED 1
181 #define MBEDTLS_SSL_RENEGOTIATION_NOT_ENFORCED -1
182 #define MBEDTLS_SSL_RENEGO_MAX_RECORDS_DEFAULT 16
184 #define MBEDTLS_SSL_LEGACY_NO_RENEGOTIATION 0
185 #define MBEDTLS_SSL_LEGACY_ALLOW_RENEGOTIATION 1
186 #define MBEDTLS_SSL_LEGACY_BREAK_HANDSHAKE 2
188 #define MBEDTLS_SSL_TRUNC_HMAC_DISABLED 0
189 #define MBEDTLS_SSL_TRUNC_HMAC_ENABLED 1
190 #define MBEDTLS_SSL_TRUNCATED_HMAC_LEN 10
192 #define MBEDTLS_SSL_SESSION_TICKETS_DISABLED 0
193 #define MBEDTLS_SSL_SESSION_TICKETS_ENABLED 1
195 #define MBEDTLS_SSL_CBC_RECORD_SPLITTING_DISABLED 0
196 #define MBEDTLS_SSL_CBC_RECORD_SPLITTING_ENABLED 1
198 #define MBEDTLS_SSL_ARC4_ENABLED 0
199 #define MBEDTLS_SSL_ARC4_DISABLED 1
201 #define MBEDTLS_SSL_PRESET_DEFAULT 0
202 #define MBEDTLS_SSL_PRESET_SUITEB 2
204 #define MBEDTLS_SSL_CERT_REQ_CA_LIST_ENABLED 1
205 #define MBEDTLS_SSL_CERT_REQ_CA_LIST_DISABLED 0
211 #define MBEDTLS_SSL_DTLS_TIMEOUT_DFL_MIN 1000
212 #define MBEDTLS_SSL_DTLS_TIMEOUT_DFL_MAX 60000
222 #if !defined(MBEDTLS_SSL_DEFAULT_TICKET_LIFETIME)
223 #define MBEDTLS_SSL_DEFAULT_TICKET_LIFETIME 86400
237 #if !defined(MBEDTLS_SSL_MAX_CONTENT_LEN)
238 #define MBEDTLS_SSL_MAX_CONTENT_LEN 16384
241 #if !defined(MBEDTLS_SSL_IN_CONTENT_LEN)
242 #define MBEDTLS_SSL_IN_CONTENT_LEN MBEDTLS_SSL_MAX_CONTENT_LEN
245 #if !defined(MBEDTLS_SSL_OUT_CONTENT_LEN)
246 #define MBEDTLS_SSL_OUT_CONTENT_LEN MBEDTLS_SSL_MAX_CONTENT_LEN
253 #if !defined(MBEDTLS_SSL_DTLS_MAX_BUFFERING)
254 #define MBEDTLS_SSL_DTLS_MAX_BUFFERING 32768
262 #if defined(MBEDTLS_SSL_PROTO_SSL3)
263 #define MBEDTLS_SSL_VERIFY_DATA_MAX_LEN 36
265 #define MBEDTLS_SSL_VERIFY_DATA_MAX_LEN 12
271 #define MBEDTLS_SSL_EMPTY_RENEGOTIATION_INFO 0xFF
272 #define MBEDTLS_SSL_FALLBACK_SCSV_VALUE 0x5600
278 #define MBEDTLS_SSL_HASH_NONE 0
279 #define MBEDTLS_SSL_HASH_MD5 1
280 #define MBEDTLS_SSL_HASH_SHA1 2
281 #define MBEDTLS_SSL_HASH_SHA224 3
282 #define MBEDTLS_SSL_HASH_SHA256 4
283 #define MBEDTLS_SSL_HASH_SHA384 5
284 #define MBEDTLS_SSL_HASH_SHA512 6
286 #define MBEDTLS_SSL_SIG_ANON 0
287 #define MBEDTLS_SSL_SIG_RSA 1
288 #define MBEDTLS_SSL_SIG_ECDSA 3
294 #define MBEDTLS_SSL_CERT_TYPE_RSA_SIGN 1
295 #define MBEDTLS_SSL_CERT_TYPE_ECDSA_SIGN 64
300 #define MBEDTLS_SSL_MSG_CHANGE_CIPHER_SPEC 20
301 #define MBEDTLS_SSL_MSG_ALERT 21
302 #define MBEDTLS_SSL_MSG_HANDSHAKE 22
303 #define MBEDTLS_SSL_MSG_APPLICATION_DATA 23
305 #define MBEDTLS_SSL_ALERT_LEVEL_WARNING 1
306 #define MBEDTLS_SSL_ALERT_LEVEL_FATAL 2
308 #define MBEDTLS_SSL_ALERT_MSG_CLOSE_NOTIFY 0
309 #define MBEDTLS_SSL_ALERT_MSG_UNEXPECTED_MESSAGE 10
310 #define MBEDTLS_SSL_ALERT_MSG_BAD_RECORD_MAC 20
311 #define MBEDTLS_SSL_ALERT_MSG_DECRYPTION_FAILED 21
312 #define MBEDTLS_SSL_ALERT_MSG_RECORD_OVERFLOW 22
313 #define MBEDTLS_SSL_ALERT_MSG_DECOMPRESSION_FAILURE 30
314 #define MBEDTLS_SSL_ALERT_MSG_HANDSHAKE_FAILURE 40
315 #define MBEDTLS_SSL_ALERT_MSG_NO_CERT 41
316 #define MBEDTLS_SSL_ALERT_MSG_BAD_CERT 42
317 #define MBEDTLS_SSL_ALERT_MSG_UNSUPPORTED_CERT 43
318 #define MBEDTLS_SSL_ALERT_MSG_CERT_REVOKED 44
319 #define MBEDTLS_SSL_ALERT_MSG_CERT_EXPIRED 45
320 #define MBEDTLS_SSL_ALERT_MSG_CERT_UNKNOWN 46
321 #define MBEDTLS_SSL_ALERT_MSG_ILLEGAL_PARAMETER 47
322 #define MBEDTLS_SSL_ALERT_MSG_UNKNOWN_CA 48
323 #define MBEDTLS_SSL_ALERT_MSG_ACCESS_DENIED 49
324 #define MBEDTLS_SSL_ALERT_MSG_DECODE_ERROR 50
325 #define MBEDTLS_SSL_ALERT_MSG_DECRYPT_ERROR 51
326 #define MBEDTLS_SSL_ALERT_MSG_EXPORT_RESTRICTION 60
327 #define MBEDTLS_SSL_ALERT_MSG_PROTOCOL_VERSION 70
328 #define MBEDTLS_SSL_ALERT_MSG_INSUFFICIENT_SECURITY 71
329 #define MBEDTLS_SSL_ALERT_MSG_INTERNAL_ERROR 80
330 #define MBEDTLS_SSL_ALERT_MSG_INAPROPRIATE_FALLBACK 86
331 #define MBEDTLS_SSL_ALERT_MSG_USER_CANCELED 90
332 #define MBEDTLS_SSL_ALERT_MSG_NO_RENEGOTIATION 100
333 #define MBEDTLS_SSL_ALERT_MSG_UNSUPPORTED_EXT 110
334 #define MBEDTLS_SSL_ALERT_MSG_UNRECOGNIZED_NAME 112
335 #define MBEDTLS_SSL_ALERT_MSG_UNKNOWN_PSK_IDENTITY 115
336 #define MBEDTLS_SSL_ALERT_MSG_NO_APPLICATION_PROTOCOL 120
338 #define MBEDTLS_SSL_HS_HELLO_REQUEST 0
339 #define MBEDTLS_SSL_HS_CLIENT_HELLO 1
340 #define MBEDTLS_SSL_HS_SERVER_HELLO 2
341 #define MBEDTLS_SSL_HS_HELLO_VERIFY_REQUEST 3
342 #define MBEDTLS_SSL_HS_NEW_SESSION_TICKET 4
343 #define MBEDTLS_SSL_HS_CERTIFICATE 11
344 #define MBEDTLS_SSL_HS_SERVER_KEY_EXCHANGE 12
345 #define MBEDTLS_SSL_HS_CERTIFICATE_REQUEST 13
346 #define MBEDTLS_SSL_HS_SERVER_HELLO_DONE 14
347 #define MBEDTLS_SSL_HS_CERTIFICATE_VERIFY 15
348 #define MBEDTLS_SSL_HS_CLIENT_KEY_EXCHANGE 16
349 #define MBEDTLS_SSL_HS_FINISHED 20
354 #define MBEDTLS_TLS_EXT_SERVERNAME 0
355 #define MBEDTLS_TLS_EXT_SERVERNAME_HOSTNAME 0
357 #define MBEDTLS_TLS_EXT_MAX_FRAGMENT_LENGTH 1
359 #define MBEDTLS_TLS_EXT_TRUNCATED_HMAC 4
361 #define MBEDTLS_TLS_EXT_SUPPORTED_ELLIPTIC_CURVES 10
362 #define MBEDTLS_TLS_EXT_SUPPORTED_POINT_FORMATS 11
364 #define MBEDTLS_TLS_EXT_SIG_ALG 13
366 #define MBEDTLS_TLS_EXT_ALPN 16
368 #define MBEDTLS_TLS_EXT_ENCRYPT_THEN_MAC 22
369 #define MBEDTLS_TLS_EXT_EXTENDED_MASTER_SECRET 0x0017
371 #define MBEDTLS_TLS_EXT_SESSION_TICKET 35
373 #define MBEDTLS_TLS_EXT_ECJPAKE_KKPP 256
375 #define MBEDTLS_TLS_EXT_RENEGOTIATION_INFO 0xFF01
380 #if !defined(MBEDTLS_PSK_MAX_LEN)
381 #define MBEDTLS_PSK_MAX_LEN 32
387 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
390 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
393 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \
394 defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) || \
395 defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) || \
396 defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED)
399 #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
402 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)
406 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)
409 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
413 #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED)
414 unsigned char _pms_ecjpake[32];
418 #define MBEDTLS_PREMASTER_SIZE sizeof( union mbedtls_ssl_premaster_secret )
469 const unsigned char *buf,
569 #if defined(MBEDTLS_X509_CRT_PARSE_C)
572 #if defined(MBEDTLS_SSL_PROTO_DTLS)
576 #if defined(MBEDTLS_SSL_ASYNC_PRIVATE)
577 #if defined(MBEDTLS_X509_CRT_PARSE_C)
652 const unsigned char *hash,
717 const unsigned char *input,
764 unsigned char *output,
766 size_t output_size );
793 #if defined(MBEDTLS_HAVE_TIME)
799 unsigned char id[32];
802 #if defined(MBEDTLS_X509_CRT_PARSE_C)
807 #if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_CLI_C)
813 #if defined(MBEDTLS_SSL_MAX_FRAGMENT_LENGTH)
817 #if defined(MBEDTLS_SSL_TRUNCATED_HMAC)
821 #if defined(MBEDTLS_SSL_ENCRYPT_THEN_MAC)
840 void (*
f_dbg)(
void *, int,
const char *, int,
const char *);
844 int (*
f_rng)(
void *,
unsigned char *, size_t);
853 #if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION)
859 #if defined(MBEDTLS_X509_CRT_PARSE_C)
865 #if defined(MBEDTLS_KEY_EXCHANGE__SOME__PSK_ENABLED)
871 #if defined(MBEDTLS_SSL_DTLS_HELLO_VERIFY) && defined(MBEDTLS_SSL_SRV_C)
874 const unsigned char *, size_t );
877 const unsigned char *, size_t );
881 #if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_SRV_C)
884 unsigned char *,
const unsigned char *,
size_t *, uint32_t * );
890 #if defined(MBEDTLS_SSL_EXPORT_KEYS)
893 const unsigned char *, size_t, size_t, size_t );
897 #if defined(MBEDTLS_X509_CRT_PARSE_C)
904 #if defined(MBEDTLS_SSL_ASYNC_PRIVATE)
905 #if defined(MBEDTLS_X509_CRT_PARSE_C)
906 mbedtls_ssl_async_sign_t *f_async_sign_start;
907 mbedtls_ssl_async_decrypt_t *f_async_decrypt_start;
909 mbedtls_ssl_async_resume_t *f_async_resume;
910 mbedtls_ssl_async_cancel_t *f_async_cancel;
911 void *p_async_config_data;
914 #if defined(MBEDTLS_KEY_EXCHANGE__WITH_CERT__ENABLED)
918 #if defined(MBEDTLS_ECP_C)
922 #if defined(MBEDTLS_DHM_C)
927 #if defined(MBEDTLS_KEY_EXCHANGE__SOME__PSK_ENABLED)
942 #if defined(MBEDTLS_SSL_ALPN)
952 #if defined(MBEDTLS_SSL_PROTO_DTLS)
959 #if defined(MBEDTLS_SSL_RENEGOTIATION)
965 #if defined(MBEDTLS_SSL_DTLS_BADMAC_LIMIT)
969 #if defined(MBEDTLS_DHM_C) && defined(MBEDTLS_SSL_CLI_C)
987 #if defined(MBEDTLS_ARC4_C)
990 #if defined(MBEDTLS_SSL_MAX_FRAGMENT_LENGTH)
993 #if defined(MBEDTLS_SSL_ENCRYPT_THEN_MAC)
996 #if defined(MBEDTLS_SSL_EXTENDED_MASTER_SECRET)
999 #if defined(MBEDTLS_SSL_DTLS_ANTI_REPLAY)
1002 #if defined(MBEDTLS_SSL_CBC_RECORD_SPLITTING)
1005 #if defined(MBEDTLS_SSL_RENEGOTIATION)
1008 #if defined(MBEDTLS_SSL_TRUNCATED_HMAC)
1011 #if defined(MBEDTLS_SSL_SESSION_TICKETS)
1014 #if defined(MBEDTLS_SSL_FALLBACK_SCSV) && defined(MBEDTLS_SSL_CLI_C)
1017 #if defined(MBEDTLS_SSL_SRV_C)
1032 #if defined(MBEDTLS_SSL_RENEGOTIATION)
1042 #if defined(MBEDTLS_SSL_DTLS_BADMAC_LIMIT)
1096 #if defined(MBEDTLS_SSL_PROTO_DTLS)
1101 #if defined(MBEDTLS_SSL_DTLS_ANTI_REPLAY)
1113 #if defined(MBEDTLS_SSL_PROTO_DTLS)
1134 #if defined(MBEDTLS_SSL_PROTO_DTLS)
1138 #if defined(MBEDTLS_ZLIB_SUPPORT)
1139 unsigned char *compress_buf;
1141 #if defined(MBEDTLS_SSL_CBC_RECORD_SPLITTING)
1153 #if defined(MBEDTLS_X509_CRT_PARSE_C)
1158 #if defined(MBEDTLS_SSL_ALPN)
1165 #if defined(MBEDTLS_SSL_DTLS_HELLO_VERIFY) && defined(MBEDTLS_SSL_SRV_C)
1176 #if defined(MBEDTLS_SSL_RENEGOTIATION)
1183 #if defined(MBEDTLS_SSL_HW_RECORD_ACCEL)
1185 #define MBEDTLS_SSL_CHANNEL_OUTBOUND 0
1186 #define MBEDTLS_SSL_CHANNEL_INBOUND 1
1189 const unsigned char *key_enc,
const unsigned char *key_dec,
1191 const unsigned char *iv_enc,
const unsigned char *iv_dec,
1193 const unsigned char *mac_enc,
const unsigned char *mac_dec,
1318 #if defined(MBEDTLS_X509_CRT_PARSE_C)
1343 int (*f_rng)(
void *,
unsigned char *,
size_t),
1361 void (*f_dbg)(
void *,
int,
const char *,
int,
const char *),
1400 #if defined(MBEDTLS_SSL_PROTO_DTLS)
1510 unsigned char *start,
1511 const unsigned char *end,
1513 uint32_t *lifetime );
1515 #if defined(MBEDTLS_SSL_EXPORT_KEYS)
1537 const unsigned char *ms,
1538 const unsigned char *kb,
1572 #if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_SRV_C)
1593 #if defined(MBEDTLS_SSL_EXPORT_KEYS)
1606 void *p_export_keys );
1609 #if defined(MBEDTLS_SSL_ASYNC_PRIVATE)
1641 mbedtls_ssl_async_sign_t *f_async_sign,
1642 mbedtls_ssl_async_decrypt_t *f_async_decrypt,
1643 mbedtls_ssl_async_resume_t *f_async_resume,
1644 mbedtls_ssl_async_cancel_t *f_async_cancel,
1645 void *config_data );
1703 unsigned char **p,
unsigned char *end,
1704 const unsigned char *info,
size_t ilen );
1720 const unsigned char *cookie,
size_t clen,
1721 const unsigned char *info,
size_t ilen );
1723 #if defined(MBEDTLS_SSL_DTLS_HELLO_VERIFY) && defined(MBEDTLS_SSL_SRV_C)
1777 const unsigned char *info,
1782 #if defined(MBEDTLS_SSL_DTLS_ANTI_REPLAY)
1801 #if defined(MBEDTLS_SSL_DTLS_BADMAC_LIMIT)
1828 #if defined(MBEDTLS_SSL_PROTO_DTLS)
1859 unsigned allow_packing );
1895 #if defined(MBEDTLS_SSL_SRV_C)
1939 #if defined(MBEDTLS_SSL_CLI_C)
1973 const int *ciphersuites );
1995 const int *ciphersuites,
1996 int major,
int minor );
1998 #if defined(MBEDTLS_X509_CRT_PARSE_C)
2068 #if defined(MBEDTLS_KEY_EXCHANGE__SOME__PSK_ENABLED)
2090 const unsigned char *psk,
size_t psk_len,
2091 const unsigned char *psk_identity,
size_t psk_identity_len );
2107 const unsigned char *psk,
size_t psk_len );
2139 #if defined(MBEDTLS_DHM_C) && defined(MBEDTLS_SSL_SRV_C)
2141 #if !defined(MBEDTLS_DEPRECATED_REMOVED)
2143 #if defined(MBEDTLS_DEPRECATED_WARNING)
2144 #define MBEDTLS_DEPRECATED __attribute__((deprecated))
2146 #define MBEDTLS_DEPRECATED
2164 const char *dhm_G );
2182 const unsigned char *dhm_P,
size_t P_len,
2183 const unsigned char *dhm_G,
size_t G_len );
2197 #if defined(MBEDTLS_DHM_C) && defined(MBEDTLS_SSL_CLI_C)
2207 unsigned int bitlen );
2210 #if defined(MBEDTLS_ECP_C)
2242 #if defined(MBEDTLS_KEY_EXCHANGE__WITH_CERT__ENABLED)
2262 const int *hashes );
2265 #if defined(MBEDTLS_X509_CRT_PARSE_C)
2287 #if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION)
2361 #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED)
2380 const unsigned char *pw,
2384 #if defined(MBEDTLS_SSL_ALPN)
2449 #if defined(MBEDTLS_SSL_FALLBACK_SCSV) && defined(MBEDTLS_SSL_CLI_C)
2472 #if defined(MBEDTLS_SSL_ENCRYPT_THEN_MAC)
2487 #if defined(MBEDTLS_SSL_EXTENDED_MASTER_SECRET)
2502 #if defined(MBEDTLS_ARC4_C)
2521 #if defined(MBEDTLS_SSL_SRV_C)
2532 char cert_req_ca_list );
2535 #if defined(MBEDTLS_SSL_MAX_FRAGMENT_LENGTH)
2567 #if defined(MBEDTLS_SSL_TRUNCATED_HMAC)
2579 #if defined(MBEDTLS_SSL_CBC_RECORD_SPLITTING)
2594 #if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_CLI_C)
2608 #if defined(MBEDTLS_SSL_RENEGOTIATION)
2658 #if defined(MBEDTLS_SSL_RENEGOTIATION)
2724 const unsigned char period[8] );
2831 #if defined(MBEDTLS_SSL_MAX_FRAGMENT_LENGTH)
2875 #if defined(MBEDTLS_X509_CRT_PARSE_C)
2893 #if defined(MBEDTLS_SSL_CLI_C)
2997 #if defined(MBEDTLS_SSL_RENEGOTIATION)
3175 unsigned char level,
3176 unsigned char message );
3227 int endpoint,
int transport,
int preset );