27 #if !defined(MBEDTLS_CONFIG_FILE)
30 #include MBEDTLS_CONFIG_FILE
38 #if defined(MBEDTLS_X509_CRT_PARSE_C)
43 #if defined(MBEDTLS_DHM_C)
47 #if defined(MBEDTLS_ECDH_C)
51 #if defined(MBEDTLS_ZLIB_SUPPORT)
53 #if defined(MBEDTLS_DEPRECATED_WARNING)
54 #warning "Record compression support via MBEDTLS_ZLIB_SUPPORT is deprecated and will be removed in the next major revision of the library"
57 #if defined(MBEDTLS_DEPRECATED_REMOVED)
58 #error "Record compression support via MBEDTLS_ZLIB_SUPPORT is deprecated and cannot be used if MBEDTLS_DEPRECATED_REMOVED is set"
64 #if defined(MBEDTLS_HAVE_TIME)
71 #define MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE -0x7080
72 #define MBEDTLS_ERR_SSL_BAD_INPUT_DATA -0x7100
73 #define MBEDTLS_ERR_SSL_INVALID_MAC -0x7180
74 #define MBEDTLS_ERR_SSL_INVALID_RECORD -0x7200
75 #define MBEDTLS_ERR_SSL_CONN_EOF -0x7280
76 #define MBEDTLS_ERR_SSL_UNKNOWN_CIPHER -0x7300
77 #define MBEDTLS_ERR_SSL_NO_CIPHER_CHOSEN -0x7380
78 #define MBEDTLS_ERR_SSL_NO_RNG -0x7400
79 #define MBEDTLS_ERR_SSL_NO_CLIENT_CERTIFICATE -0x7480
80 #define MBEDTLS_ERR_SSL_CERTIFICATE_TOO_LARGE -0x7500
81 #define MBEDTLS_ERR_SSL_CERTIFICATE_REQUIRED -0x7580
82 #define MBEDTLS_ERR_SSL_PRIVATE_KEY_REQUIRED -0x7600
83 #define MBEDTLS_ERR_SSL_CA_CHAIN_REQUIRED -0x7680
84 #define MBEDTLS_ERR_SSL_UNEXPECTED_MESSAGE -0x7700
85 #define MBEDTLS_ERR_SSL_FATAL_ALERT_MESSAGE -0x7780
86 #define MBEDTLS_ERR_SSL_PEER_VERIFY_FAILED -0x7800
87 #define MBEDTLS_ERR_SSL_PEER_CLOSE_NOTIFY -0x7880
88 #define MBEDTLS_ERR_SSL_BAD_HS_CLIENT_HELLO -0x7900
89 #define MBEDTLS_ERR_SSL_BAD_HS_SERVER_HELLO -0x7980
90 #define MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE -0x7A00
91 #define MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE_REQUEST -0x7A80
92 #define MBEDTLS_ERR_SSL_BAD_HS_SERVER_KEY_EXCHANGE -0x7B00
93 #define MBEDTLS_ERR_SSL_BAD_HS_SERVER_HELLO_DONE -0x7B80
94 #define MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE -0x7C00
95 #define MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_RP -0x7C80
96 #define MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_CS -0x7D00
97 #define MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE_VERIFY -0x7D80
98 #define MBEDTLS_ERR_SSL_BAD_HS_CHANGE_CIPHER_SPEC -0x7E00
99 #define MBEDTLS_ERR_SSL_BAD_HS_FINISHED -0x7E80
100 #define MBEDTLS_ERR_SSL_ALLOC_FAILED -0x7F00
101 #define MBEDTLS_ERR_SSL_HW_ACCEL_FAILED -0x7F80
102 #define MBEDTLS_ERR_SSL_HW_ACCEL_FALLTHROUGH -0x6F80
103 #define MBEDTLS_ERR_SSL_COMPRESSION_FAILED -0x6F00
104 #define MBEDTLS_ERR_SSL_BAD_HS_PROTOCOL_VERSION -0x6E80
105 #define MBEDTLS_ERR_SSL_BAD_HS_NEW_SESSION_TICKET -0x6E00
106 #define MBEDTLS_ERR_SSL_SESSION_TICKET_EXPIRED -0x6D80
107 #define MBEDTLS_ERR_SSL_PK_TYPE_MISMATCH -0x6D00
108 #define MBEDTLS_ERR_SSL_UNKNOWN_IDENTITY -0x6C80
109 #define MBEDTLS_ERR_SSL_INTERNAL_ERROR -0x6C00
110 #define MBEDTLS_ERR_SSL_COUNTER_WRAPPING -0x6B80
111 #define MBEDTLS_ERR_SSL_WAITING_SERVER_HELLO_RENEGO -0x6B00
112 #define MBEDTLS_ERR_SSL_HELLO_VERIFY_REQUIRED -0x6A80
113 #define MBEDTLS_ERR_SSL_BUFFER_TOO_SMALL -0x6A00
114 #define MBEDTLS_ERR_SSL_NO_USABLE_CIPHERSUITE -0x6980
115 #define MBEDTLS_ERR_SSL_WANT_READ -0x6900
116 #define MBEDTLS_ERR_SSL_WANT_WRITE -0x6880
117 #define MBEDTLS_ERR_SSL_TIMEOUT -0x6800
118 #define MBEDTLS_ERR_SSL_CLIENT_RECONNECT -0x6780
119 #define MBEDTLS_ERR_SSL_UNEXPECTED_RECORD -0x6700
120 #define MBEDTLS_ERR_SSL_NON_FATAL -0x6680
121 #define MBEDTLS_ERR_SSL_INVALID_VERIFY_HASH -0x6600
122 #define MBEDTLS_ERR_SSL_CONTINUE_PROCESSING -0x6580
123 #define MBEDTLS_ERR_SSL_ASYNC_IN_PROGRESS -0x6500
124 #define MBEDTLS_ERR_SSL_EARLY_MESSAGE -0x6480
125 #define MBEDTLS_ERR_SSL_CRYPTO_IN_PROGRESS -0x7000
130 #define MBEDTLS_SSL_MAJOR_VERSION_3 3
131 #define MBEDTLS_SSL_MINOR_VERSION_0 0
132 #define MBEDTLS_SSL_MINOR_VERSION_1 1
133 #define MBEDTLS_SSL_MINOR_VERSION_2 2
134 #define MBEDTLS_SSL_MINOR_VERSION_3 3
136 #define MBEDTLS_SSL_TRANSPORT_STREAM 0
137 #define MBEDTLS_SSL_TRANSPORT_DATAGRAM 1
139 #define MBEDTLS_SSL_MAX_HOST_NAME_LEN 255
143 #define MBEDTLS_SSL_MAX_FRAG_LEN_NONE 0
144 #define MBEDTLS_SSL_MAX_FRAG_LEN_512 1
145 #define MBEDTLS_SSL_MAX_FRAG_LEN_1024 2
146 #define MBEDTLS_SSL_MAX_FRAG_LEN_2048 3
147 #define MBEDTLS_SSL_MAX_FRAG_LEN_4096 4
148 #define MBEDTLS_SSL_MAX_FRAG_LEN_INVALID 5
150 #define MBEDTLS_SSL_IS_CLIENT 0
151 #define MBEDTLS_SSL_IS_SERVER 1
153 #define MBEDTLS_SSL_IS_NOT_FALLBACK 0
154 #define MBEDTLS_SSL_IS_FALLBACK 1
156 #define MBEDTLS_SSL_EXTENDED_MS_DISABLED 0
157 #define MBEDTLS_SSL_EXTENDED_MS_ENABLED 1
159 #define MBEDTLS_SSL_ETM_DISABLED 0
160 #define MBEDTLS_SSL_ETM_ENABLED 1
162 #define MBEDTLS_SSL_COMPRESS_NULL 0
163 #define MBEDTLS_SSL_COMPRESS_DEFLATE 1
165 #define MBEDTLS_SSL_VERIFY_NONE 0
166 #define MBEDTLS_SSL_VERIFY_OPTIONAL 1
167 #define MBEDTLS_SSL_VERIFY_REQUIRED 2
168 #define MBEDTLS_SSL_VERIFY_UNSET 3
170 #define MBEDTLS_SSL_LEGACY_RENEGOTIATION 0
171 #define MBEDTLS_SSL_SECURE_RENEGOTIATION 1
173 #define MBEDTLS_SSL_RENEGOTIATION_DISABLED 0
174 #define MBEDTLS_SSL_RENEGOTIATION_ENABLED 1
176 #define MBEDTLS_SSL_ANTI_REPLAY_DISABLED 0
177 #define MBEDTLS_SSL_ANTI_REPLAY_ENABLED 1
179 #define MBEDTLS_SSL_RENEGOTIATION_NOT_ENFORCED -1
180 #define MBEDTLS_SSL_RENEGO_MAX_RECORDS_DEFAULT 16
182 #define MBEDTLS_SSL_LEGACY_NO_RENEGOTIATION 0
183 #define MBEDTLS_SSL_LEGACY_ALLOW_RENEGOTIATION 1
184 #define MBEDTLS_SSL_LEGACY_BREAK_HANDSHAKE 2
186 #define MBEDTLS_SSL_TRUNC_HMAC_DISABLED 0
187 #define MBEDTLS_SSL_TRUNC_HMAC_ENABLED 1
188 #define MBEDTLS_SSL_TRUNCATED_HMAC_LEN 10
190 #define MBEDTLS_SSL_SESSION_TICKETS_DISABLED 0
191 #define MBEDTLS_SSL_SESSION_TICKETS_ENABLED 1
193 #define MBEDTLS_SSL_CBC_RECORD_SPLITTING_DISABLED 0
194 #define MBEDTLS_SSL_CBC_RECORD_SPLITTING_ENABLED 1
196 #define MBEDTLS_SSL_ARC4_ENABLED 0
197 #define MBEDTLS_SSL_ARC4_DISABLED 1
199 #define MBEDTLS_SSL_PRESET_DEFAULT 0
200 #define MBEDTLS_SSL_PRESET_SUITEB 2
202 #define MBEDTLS_SSL_CERT_REQ_CA_LIST_ENABLED 1
203 #define MBEDTLS_SSL_CERT_REQ_CA_LIST_DISABLED 0
209 #define MBEDTLS_SSL_DTLS_TIMEOUT_DFL_MIN 1000
210 #define MBEDTLS_SSL_DTLS_TIMEOUT_DFL_MAX 60000
220 #if !defined(MBEDTLS_SSL_DEFAULT_TICKET_LIFETIME)
221 #define MBEDTLS_SSL_DEFAULT_TICKET_LIFETIME 86400
235 #if !defined(MBEDTLS_SSL_MAX_CONTENT_LEN)
236 #define MBEDTLS_SSL_MAX_CONTENT_LEN 16384
239 #if !defined(MBEDTLS_SSL_IN_CONTENT_LEN)
240 #define MBEDTLS_SSL_IN_CONTENT_LEN MBEDTLS_SSL_MAX_CONTENT_LEN
243 #if !defined(MBEDTLS_SSL_OUT_CONTENT_LEN)
244 #define MBEDTLS_SSL_OUT_CONTENT_LEN MBEDTLS_SSL_MAX_CONTENT_LEN
251 #if !defined(MBEDTLS_SSL_DTLS_MAX_BUFFERING)
252 #define MBEDTLS_SSL_DTLS_MAX_BUFFERING 32768
260 #if defined(MBEDTLS_SSL_PROTO_SSL3)
261 #define MBEDTLS_SSL_VERIFY_DATA_MAX_LEN 36
263 #define MBEDTLS_SSL_VERIFY_DATA_MAX_LEN 12
269 #define MBEDTLS_SSL_EMPTY_RENEGOTIATION_INFO 0xFF
270 #define MBEDTLS_SSL_FALLBACK_SCSV_VALUE 0x5600
276 #define MBEDTLS_SSL_HASH_NONE 0
277 #define MBEDTLS_SSL_HASH_MD5 1
278 #define MBEDTLS_SSL_HASH_SHA1 2
279 #define MBEDTLS_SSL_HASH_SHA224 3
280 #define MBEDTLS_SSL_HASH_SHA256 4
281 #define MBEDTLS_SSL_HASH_SHA384 5
282 #define MBEDTLS_SSL_HASH_SHA512 6
284 #define MBEDTLS_SSL_SIG_ANON 0
285 #define MBEDTLS_SSL_SIG_RSA 1
286 #define MBEDTLS_SSL_SIG_ECDSA 3
292 #define MBEDTLS_SSL_CERT_TYPE_RSA_SIGN 1
293 #define MBEDTLS_SSL_CERT_TYPE_ECDSA_SIGN 64
298 #define MBEDTLS_SSL_MSG_CHANGE_CIPHER_SPEC 20
299 #define MBEDTLS_SSL_MSG_ALERT 21
300 #define MBEDTLS_SSL_MSG_HANDSHAKE 22
301 #define MBEDTLS_SSL_MSG_APPLICATION_DATA 23
303 #define MBEDTLS_SSL_ALERT_LEVEL_WARNING 1
304 #define MBEDTLS_SSL_ALERT_LEVEL_FATAL 2
306 #define MBEDTLS_SSL_ALERT_MSG_CLOSE_NOTIFY 0
307 #define MBEDTLS_SSL_ALERT_MSG_UNEXPECTED_MESSAGE 10
308 #define MBEDTLS_SSL_ALERT_MSG_BAD_RECORD_MAC 20
309 #define MBEDTLS_SSL_ALERT_MSG_DECRYPTION_FAILED 21
310 #define MBEDTLS_SSL_ALERT_MSG_RECORD_OVERFLOW 22
311 #define MBEDTLS_SSL_ALERT_MSG_DECOMPRESSION_FAILURE 30
312 #define MBEDTLS_SSL_ALERT_MSG_HANDSHAKE_FAILURE 40
313 #define MBEDTLS_SSL_ALERT_MSG_NO_CERT 41
314 #define MBEDTLS_SSL_ALERT_MSG_BAD_CERT 42
315 #define MBEDTLS_SSL_ALERT_MSG_UNSUPPORTED_CERT 43
316 #define MBEDTLS_SSL_ALERT_MSG_CERT_REVOKED 44
317 #define MBEDTLS_SSL_ALERT_MSG_CERT_EXPIRED 45
318 #define MBEDTLS_SSL_ALERT_MSG_CERT_UNKNOWN 46
319 #define MBEDTLS_SSL_ALERT_MSG_ILLEGAL_PARAMETER 47
320 #define MBEDTLS_SSL_ALERT_MSG_UNKNOWN_CA 48
321 #define MBEDTLS_SSL_ALERT_MSG_ACCESS_DENIED 49
322 #define MBEDTLS_SSL_ALERT_MSG_DECODE_ERROR 50
323 #define MBEDTLS_SSL_ALERT_MSG_DECRYPT_ERROR 51
324 #define MBEDTLS_SSL_ALERT_MSG_EXPORT_RESTRICTION 60
325 #define MBEDTLS_SSL_ALERT_MSG_PROTOCOL_VERSION 70
326 #define MBEDTLS_SSL_ALERT_MSG_INSUFFICIENT_SECURITY 71
327 #define MBEDTLS_SSL_ALERT_MSG_INTERNAL_ERROR 80
328 #define MBEDTLS_SSL_ALERT_MSG_INAPROPRIATE_FALLBACK 86
329 #define MBEDTLS_SSL_ALERT_MSG_USER_CANCELED 90
330 #define MBEDTLS_SSL_ALERT_MSG_NO_RENEGOTIATION 100
331 #define MBEDTLS_SSL_ALERT_MSG_UNSUPPORTED_EXT 110
332 #define MBEDTLS_SSL_ALERT_MSG_UNRECOGNIZED_NAME 112
333 #define MBEDTLS_SSL_ALERT_MSG_UNKNOWN_PSK_IDENTITY 115
334 #define MBEDTLS_SSL_ALERT_MSG_NO_APPLICATION_PROTOCOL 120
336 #define MBEDTLS_SSL_HS_HELLO_REQUEST 0
337 #define MBEDTLS_SSL_HS_CLIENT_HELLO 1
338 #define MBEDTLS_SSL_HS_SERVER_HELLO 2
339 #define MBEDTLS_SSL_HS_HELLO_VERIFY_REQUEST 3
340 #define MBEDTLS_SSL_HS_NEW_SESSION_TICKET 4
341 #define MBEDTLS_SSL_HS_CERTIFICATE 11
342 #define MBEDTLS_SSL_HS_SERVER_KEY_EXCHANGE 12
343 #define MBEDTLS_SSL_HS_CERTIFICATE_REQUEST 13
344 #define MBEDTLS_SSL_HS_SERVER_HELLO_DONE 14
345 #define MBEDTLS_SSL_HS_CERTIFICATE_VERIFY 15
346 #define MBEDTLS_SSL_HS_CLIENT_KEY_EXCHANGE 16
347 #define MBEDTLS_SSL_HS_FINISHED 20
352 #define MBEDTLS_TLS_EXT_SERVERNAME 0
353 #define MBEDTLS_TLS_EXT_SERVERNAME_HOSTNAME 0
355 #define MBEDTLS_TLS_EXT_MAX_FRAGMENT_LENGTH 1
357 #define MBEDTLS_TLS_EXT_TRUNCATED_HMAC 4
359 #define MBEDTLS_TLS_EXT_SUPPORTED_ELLIPTIC_CURVES 10
360 #define MBEDTLS_TLS_EXT_SUPPORTED_POINT_FORMATS 11
362 #define MBEDTLS_TLS_EXT_SIG_ALG 13
364 #define MBEDTLS_TLS_EXT_ALPN 16
366 #define MBEDTLS_TLS_EXT_ENCRYPT_THEN_MAC 22
367 #define MBEDTLS_TLS_EXT_EXTENDED_MASTER_SECRET 0x0017
369 #define MBEDTLS_TLS_EXT_SESSION_TICKET 35
371 #define MBEDTLS_TLS_EXT_ECJPAKE_KKPP 256
373 #define MBEDTLS_TLS_EXT_RENEGOTIATION_INFO 0xFF01
378 #if !defined(MBEDTLS_PSK_MAX_LEN)
379 #define MBEDTLS_PSK_MAX_LEN 32
385 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
388 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
391 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \
392 defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) || \
393 defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) || \
394 defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED)
397 #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
400 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)
404 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)
407 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
411 #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED)
412 unsigned char _pms_ecjpake[32];
416 #define MBEDTLS_PREMASTER_SIZE sizeof( union mbedtls_ssl_premaster_secret )
467 const unsigned char *buf,
567 #if defined(MBEDTLS_X509_CRT_PARSE_C)
570 #if defined(MBEDTLS_SSL_PROTO_DTLS)
574 #if defined(MBEDTLS_SSL_ASYNC_PRIVATE)
575 #if defined(MBEDTLS_X509_CRT_PARSE_C)
650 const unsigned char *hash,
715 const unsigned char *input,
762 unsigned char *output,
764 size_t output_size );
791 #if defined(MBEDTLS_HAVE_TIME)
797 unsigned char id[32];
800 #if defined(MBEDTLS_X509_CRT_PARSE_C)
805 #if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_CLI_C)
811 #if defined(MBEDTLS_SSL_MAX_FRAGMENT_LENGTH)
815 #if defined(MBEDTLS_SSL_TRUNCATED_HMAC)
819 #if defined(MBEDTLS_SSL_ENCRYPT_THEN_MAC)
838 void (*
f_dbg)(
void *, int,
const char *, int,
const char *);
842 int (*
f_rng)(
void *,
unsigned char *, size_t);
851 #if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION)
857 #if defined(MBEDTLS_X509_CRT_PARSE_C)
863 #if defined(MBEDTLS_KEY_EXCHANGE__SOME__PSK_ENABLED)
869 #if defined(MBEDTLS_SSL_DTLS_HELLO_VERIFY) && defined(MBEDTLS_SSL_SRV_C)
872 const unsigned char *, size_t );
875 const unsigned char *, size_t );
879 #if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_SRV_C)
882 unsigned char *,
const unsigned char *,
size_t *, uint32_t * );
888 #if defined(MBEDTLS_SSL_EXPORT_KEYS)
891 const unsigned char *, size_t, size_t, size_t );
895 #if defined(MBEDTLS_X509_CRT_PARSE_C)
902 #if defined(MBEDTLS_SSL_ASYNC_PRIVATE)
903 #if defined(MBEDTLS_X509_CRT_PARSE_C)
904 mbedtls_ssl_async_sign_t *f_async_sign_start;
905 mbedtls_ssl_async_decrypt_t *f_async_decrypt_start;
907 mbedtls_ssl_async_resume_t *f_async_resume;
908 mbedtls_ssl_async_cancel_t *f_async_cancel;
909 void *p_async_config_data;
912 #if defined(MBEDTLS_KEY_EXCHANGE__WITH_CERT__ENABLED)
916 #if defined(MBEDTLS_ECP_C)
920 #if defined(MBEDTLS_DHM_C)
925 #if defined(MBEDTLS_KEY_EXCHANGE__SOME__PSK_ENABLED)
940 #if defined(MBEDTLS_SSL_ALPN)
950 #if defined(MBEDTLS_SSL_PROTO_DTLS)
957 #if defined(MBEDTLS_SSL_RENEGOTIATION)
963 #if defined(MBEDTLS_SSL_DTLS_BADMAC_LIMIT)
967 #if defined(MBEDTLS_DHM_C) && defined(MBEDTLS_SSL_CLI_C)
985 #if defined(MBEDTLS_ARC4_C)
988 #if defined(MBEDTLS_SSL_MAX_FRAGMENT_LENGTH)
991 #if defined(MBEDTLS_SSL_ENCRYPT_THEN_MAC)
994 #if defined(MBEDTLS_SSL_EXTENDED_MASTER_SECRET)
997 #if defined(MBEDTLS_SSL_DTLS_ANTI_REPLAY)
1000 #if defined(MBEDTLS_SSL_CBC_RECORD_SPLITTING)
1003 #if defined(MBEDTLS_SSL_RENEGOTIATION)
1006 #if defined(MBEDTLS_SSL_TRUNCATED_HMAC)
1009 #if defined(MBEDTLS_SSL_SESSION_TICKETS)
1012 #if defined(MBEDTLS_SSL_FALLBACK_SCSV) && defined(MBEDTLS_SSL_CLI_C)
1015 #if defined(MBEDTLS_SSL_SRV_C)
1030 #if defined(MBEDTLS_SSL_RENEGOTIATION)
1040 #if defined(MBEDTLS_SSL_DTLS_BADMAC_LIMIT)
1094 #if defined(MBEDTLS_SSL_PROTO_DTLS)
1099 #if defined(MBEDTLS_SSL_DTLS_ANTI_REPLAY)
1111 #if defined(MBEDTLS_SSL_PROTO_DTLS)
1132 #if defined(MBEDTLS_SSL_PROTO_DTLS)
1136 #if defined(MBEDTLS_ZLIB_SUPPORT)
1137 unsigned char *compress_buf;
1139 #if defined(MBEDTLS_SSL_CBC_RECORD_SPLITTING)
1151 #if defined(MBEDTLS_X509_CRT_PARSE_C)
1156 #if defined(MBEDTLS_SSL_ALPN)
1163 #if defined(MBEDTLS_SSL_DTLS_HELLO_VERIFY) && defined(MBEDTLS_SSL_SRV_C)
1174 #if defined(MBEDTLS_SSL_RENEGOTIATION)
1181 #if defined(MBEDTLS_SSL_HW_RECORD_ACCEL)
1183 #define MBEDTLS_SSL_CHANNEL_OUTBOUND 0
1184 #define MBEDTLS_SSL_CHANNEL_INBOUND 1
1187 const unsigned char *key_enc,
const unsigned char *key_dec,
1189 const unsigned char *iv_enc,
const unsigned char *iv_dec,
1191 const unsigned char *mac_enc,
const unsigned char *mac_dec,
1316 #if defined(MBEDTLS_X509_CRT_PARSE_C)
1341 int (*f_rng)(
void *,
unsigned char *,
size_t),
1359 void (*f_dbg)(
void *,
int,
const char *,
int,
const char *),
1398 #if defined(MBEDTLS_SSL_PROTO_DTLS)
1508 unsigned char *start,
1509 const unsigned char *end,
1511 uint32_t *lifetime );
1513 #if defined(MBEDTLS_SSL_EXPORT_KEYS)
1535 const unsigned char *ms,
1536 const unsigned char *kb,
1570 #if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_SRV_C)
1591 #if defined(MBEDTLS_SSL_EXPORT_KEYS)
1604 void *p_export_keys );
1607 #if defined(MBEDTLS_SSL_ASYNC_PRIVATE)
1639 mbedtls_ssl_async_sign_t *f_async_sign,
1640 mbedtls_ssl_async_decrypt_t *f_async_decrypt,
1641 mbedtls_ssl_async_resume_t *f_async_resume,
1642 mbedtls_ssl_async_cancel_t *f_async_cancel,
1643 void *config_data );
1701 unsigned char **p,
unsigned char *end,
1702 const unsigned char *info,
size_t ilen );
1718 const unsigned char *cookie,
size_t clen,
1719 const unsigned char *info,
size_t ilen );
1721 #if defined(MBEDTLS_SSL_DTLS_HELLO_VERIFY) && defined(MBEDTLS_SSL_SRV_C)
1775 const unsigned char *info,
1780 #if defined(MBEDTLS_SSL_DTLS_ANTI_REPLAY)
1799 #if defined(MBEDTLS_SSL_DTLS_BADMAC_LIMIT)
1826 #if defined(MBEDTLS_SSL_PROTO_DTLS)
1857 unsigned allow_packing );
1893 #if defined(MBEDTLS_SSL_SRV_C)
1937 #if defined(MBEDTLS_SSL_CLI_C)
1971 const int *ciphersuites );
1993 const int *ciphersuites,
1994 int major,
int minor );
1996 #if defined(MBEDTLS_X509_CRT_PARSE_C)
2058 #if defined(MBEDTLS_KEY_EXCHANGE__SOME__PSK_ENABLED)
2080 const unsigned char *psk,
size_t psk_len,
2081 const unsigned char *psk_identity,
size_t psk_identity_len );
2097 const unsigned char *psk,
size_t psk_len );
2129 #if defined(MBEDTLS_DHM_C) && defined(MBEDTLS_SSL_SRV_C)
2131 #if !defined(MBEDTLS_DEPRECATED_REMOVED)
2133 #if defined(MBEDTLS_DEPRECATED_WARNING)
2134 #define MBEDTLS_DEPRECATED __attribute__((deprecated))
2136 #define MBEDTLS_DEPRECATED
2154 const char *dhm_G );
2172 const unsigned char *dhm_P,
size_t P_len,
2173 const unsigned char *dhm_G,
size_t G_len );
2187 #if defined(MBEDTLS_DHM_C) && defined(MBEDTLS_SSL_CLI_C)
2197 unsigned int bitlen );
2200 #if defined(MBEDTLS_ECP_C)
2232 #if defined(MBEDTLS_KEY_EXCHANGE__WITH_CERT__ENABLED)
2252 const int *hashes );
2255 #if defined(MBEDTLS_X509_CRT_PARSE_C)
2277 #if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION)
2351 #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED)
2370 const unsigned char *pw,
2374 #if defined(MBEDTLS_SSL_ALPN)
2439 #if defined(MBEDTLS_SSL_FALLBACK_SCSV) && defined(MBEDTLS_SSL_CLI_C)
2462 #if defined(MBEDTLS_SSL_ENCRYPT_THEN_MAC)
2477 #if defined(MBEDTLS_SSL_EXTENDED_MASTER_SECRET)
2492 #if defined(MBEDTLS_ARC4_C)
2511 #if defined(MBEDTLS_SSL_SRV_C)
2522 char cert_req_ca_list );
2525 #if defined(MBEDTLS_SSL_MAX_FRAGMENT_LENGTH)
2557 #if defined(MBEDTLS_SSL_TRUNCATED_HMAC)
2569 #if defined(MBEDTLS_SSL_CBC_RECORD_SPLITTING)
2584 #if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_CLI_C)
2598 #if defined(MBEDTLS_SSL_RENEGOTIATION)
2648 #if defined(MBEDTLS_SSL_RENEGOTIATION)
2714 const unsigned char period[8] );
2821 #if defined(MBEDTLS_SSL_MAX_FRAGMENT_LENGTH)
2865 #if defined(MBEDTLS_X509_CRT_PARSE_C)
2883 #if defined(MBEDTLS_SSL_CLI_C)
2987 #if defined(MBEDTLS_SSL_RENEGOTIATION)
3165 unsigned char level,
3166 unsigned char message );
3217 int endpoint,
int transport,
int preset );