PolarSSL is now part of ARM Official announcement and rebranded as mbed TLS.

API Documentation (Doxygen generated)

These pages are generated with doxygen directly from the source code!

config.h
Go to the documentation of this file.
1 
10 /*
11  * Copyright (C) 2006-2018, ARM Limited, All Rights Reserved
12  * SPDX-License-Identifier: Apache-2.0
13  *
14  * Licensed under the Apache License, Version 2.0 (the "License"); you may
15  * not use this file except in compliance with the License.
16  * You may obtain a copy of the License at
17  *
18  * http://www.apache.org/licenses/LICENSE-2.0
19  *
20  * Unless required by applicable law or agreed to in writing, software
21  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
22  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23  * See the License for the specific language governing permissions and
24  * limitations under the License.
25  *
26  * This file is part of mbed TLS (https://tls.mbed.org)
27  */
28 
29 #ifndef MBEDTLS_CONFIG_H
30 #define MBEDTLS_CONFIG_H
31 
32 #if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
33 #define _CRT_SECURE_NO_DEPRECATE 1
34 #endif
35 
61 #define MBEDTLS_HAVE_ASM
62 
89 //#define MBEDTLS_NO_UDBL_DIVISION
90 
111 //#define MBEDTLS_NO_64BIT_MULTIPLICATION
112 
120 //#define MBEDTLS_HAVE_SSE2
121 
135 #define MBEDTLS_HAVE_TIME
136 
156 #define MBEDTLS_HAVE_TIME_DATE
157 
180 //#define MBEDTLS_PLATFORM_MEMORY
181 
199 //#define MBEDTLS_PLATFORM_NO_STD_FUNCTIONS
200 
224 //#define MBEDTLS_PLATFORM_EXIT_ALT
225 //#define MBEDTLS_PLATFORM_TIME_ALT
226 //#define MBEDTLS_PLATFORM_FPRINTF_ALT
227 //#define MBEDTLS_PLATFORM_PRINTF_ALT
228 //#define MBEDTLS_PLATFORM_SNPRINTF_ALT
229 //#define MBEDTLS_PLATFORM_NV_SEED_ALT
230 //#define MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT
231 
245 //#define MBEDTLS_DEPRECATED_WARNING
246 
257 //#define MBEDTLS_DEPRECATED_REMOVED
258 
299 //#define MBEDTLS_CHECK_PARAMS
300 
301 /* \} name SECTION: System support */
302 
322 //#define MBEDTLS_TIMING_ALT
323 
349 //#define MBEDTLS_AES_ALT
350 //#define MBEDTLS_ARC4_ALT
351 //#define MBEDTLS_ARIA_ALT
352 //#define MBEDTLS_BLOWFISH_ALT
353 //#define MBEDTLS_CAMELLIA_ALT
354 //#define MBEDTLS_CCM_ALT
355 //#define MBEDTLS_CHACHA20_ALT
356 //#define MBEDTLS_CHACHAPOLY_ALT
357 //#define MBEDTLS_CMAC_ALT
358 //#define MBEDTLS_DES_ALT
359 //#define MBEDTLS_DHM_ALT
360 //#define MBEDTLS_ECJPAKE_ALT
361 //#define MBEDTLS_GCM_ALT
362 //#define MBEDTLS_NIST_KW_ALT
363 //#define MBEDTLS_MD2_ALT
364 //#define MBEDTLS_MD4_ALT
365 //#define MBEDTLS_MD5_ALT
366 //#define MBEDTLS_POLY1305_ALT
367 //#define MBEDTLS_RIPEMD160_ALT
368 //#define MBEDTLS_RSA_ALT
369 //#define MBEDTLS_SHA1_ALT
370 //#define MBEDTLS_SHA256_ALT
371 //#define MBEDTLS_SHA512_ALT
372 //#define MBEDTLS_XTEA_ALT
373 
374 /*
375  * When replacing the elliptic curve module, pleace consider, that it is
376  * implemented with two .c files:
377  * - ecp.c
378  * - ecp_curves.c
379  * You can replace them very much like all the other MBEDTLS__MODULE_NAME__ALT
380  * macros as described above. The only difference is that you have to make sure
381  * that you provide functionality for both .c files.
382  */
383 //#define MBEDTLS_ECP_ALT
384 
420 //#define MBEDTLS_MD2_PROCESS_ALT
421 //#define MBEDTLS_MD4_PROCESS_ALT
422 //#define MBEDTLS_MD5_PROCESS_ALT
423 //#define MBEDTLS_RIPEMD160_PROCESS_ALT
424 //#define MBEDTLS_SHA1_PROCESS_ALT
425 //#define MBEDTLS_SHA256_PROCESS_ALT
426 //#define MBEDTLS_SHA512_PROCESS_ALT
427 //#define MBEDTLS_DES_SETKEY_ALT
428 //#define MBEDTLS_DES_CRYPT_ECB_ALT
429 //#define MBEDTLS_DES3_CRYPT_ECB_ALT
430 //#define MBEDTLS_AES_SETKEY_ENC_ALT
431 //#define MBEDTLS_AES_SETKEY_DEC_ALT
432 //#define MBEDTLS_AES_ENCRYPT_ALT
433 //#define MBEDTLS_AES_DECRYPT_ALT
434 //#define MBEDTLS_ECDH_GEN_PUBLIC_ALT
435 //#define MBEDTLS_ECDH_COMPUTE_SHARED_ALT
436 //#define MBEDTLS_ECDSA_VERIFY_ALT
437 //#define MBEDTLS_ECDSA_SIGN_ALT
438 //#define MBEDTLS_ECDSA_GENKEY_ALT
439 
480 /* Required for all the functions in this section */
481 //#define MBEDTLS_ECP_INTERNAL_ALT
482 /* Support for Weierstrass curves with Jacobi representation */
483 //#define MBEDTLS_ECP_RANDOMIZE_JAC_ALT
484 //#define MBEDTLS_ECP_ADD_MIXED_ALT
485 //#define MBEDTLS_ECP_DOUBLE_JAC_ALT
486 //#define MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT
487 //#define MBEDTLS_ECP_NORMALIZE_JAC_ALT
488 /* Support for curves with Montgomery arithmetic */
489 //#define MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT
490 //#define MBEDTLS_ECP_RANDOMIZE_MXZ_ALT
491 //#define MBEDTLS_ECP_NORMALIZE_MXZ_ALT
492 
508 //#define MBEDTLS_TEST_NULL_ENTROPY
509 
521 //#define MBEDTLS_ENTROPY_HARDWARE_ALT
522 
541 //#define MBEDTLS_AES_ROM_TABLES
542 
563 //#define MBEDTLS_AES_FEWER_TABLES
564 
572 //#define MBEDTLS_CAMELLIA_SMALL_MEMORY
573 
579 #define MBEDTLS_CIPHER_MODE_CBC
580 
586 #define MBEDTLS_CIPHER_MODE_CFB
587 
593 #define MBEDTLS_CIPHER_MODE_CTR
594 
600 #define MBEDTLS_CIPHER_MODE_OFB
601 
607 #define MBEDTLS_CIPHER_MODE_XTS
608 
640 //#define MBEDTLS_CIPHER_NULL_CIPHER
641 
653 #define MBEDTLS_CIPHER_PADDING_PKCS7
654 #define MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS
655 #define MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN
656 #define MBEDTLS_CIPHER_PADDING_ZEROS
657 
674 //#define MBEDTLS_ENABLE_WEAK_CIPHERSUITES
675 
687 #define MBEDTLS_REMOVE_ARC4_CIPHERSUITES
688 
707 #define MBEDTLS_REMOVE_3DES_CIPHERSUITES
708 
717 #define MBEDTLS_ECP_DP_SECP192R1_ENABLED
718 #define MBEDTLS_ECP_DP_SECP224R1_ENABLED
719 #define MBEDTLS_ECP_DP_SECP256R1_ENABLED
720 #define MBEDTLS_ECP_DP_SECP384R1_ENABLED
721 #define MBEDTLS_ECP_DP_SECP521R1_ENABLED
722 #define MBEDTLS_ECP_DP_SECP192K1_ENABLED
723 #define MBEDTLS_ECP_DP_SECP224K1_ENABLED
724 #define MBEDTLS_ECP_DP_SECP256K1_ENABLED
725 #define MBEDTLS_ECP_DP_BP256R1_ENABLED
726 #define MBEDTLS_ECP_DP_BP384R1_ENABLED
727 #define MBEDTLS_ECP_DP_BP512R1_ENABLED
728 #define MBEDTLS_ECP_DP_CURVE25519_ENABLED
729 #define MBEDTLS_ECP_DP_CURVE448_ENABLED
730 
740 #define MBEDTLS_ECP_NIST_OPTIM
741 
764 //#define MBEDTLS_ECP_RESTARTABLE
765 
778 #define MBEDTLS_ECDSA_DETERMINISTIC
779 
800 #define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
801 
831 #define MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED
832 
851 #define MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
852 
876 #define MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
877 
904 #define MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
905 
937 #define MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED
938 
962 #define MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
963 
986 #define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
987 
1010 #define MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED
1011 
1034 #define MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
1035 
1053 //#define MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED
1054 
1067 #define MBEDTLS_PK_PARSE_EC_EXTENDED
1068 
1082 #define MBEDTLS_ERROR_STRERROR_DUMMY
1083 
1091 #define MBEDTLS_GENPRIME
1092 
1098 #define MBEDTLS_FS_IO
1099 
1111 //#define MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES
1112 
1122 //#define MBEDTLS_NO_PLATFORM_ENTROPY
1123 
1138 //#define MBEDTLS_ENTROPY_FORCE_SHA256
1139 
1166 //#define MBEDTLS_ENTROPY_NV_SEED
1167 
1179 //#define MBEDTLS_MEMORY_DEBUG
1180 
1191 //#define MBEDTLS_MEMORY_BACKTRACE
1192 
1200 #define MBEDTLS_PK_RSA_ALT_SUPPORT
1201 
1211 #define MBEDTLS_PKCS1_V15
1212 
1222 #define MBEDTLS_PKCS1_V21
1223 
1233 //#define MBEDTLS_RSA_NO_CRT
1234 
1240 #define MBEDTLS_SELF_TEST
1241 
1256 //#define MBEDTLS_SHA256_SMALLER
1257 
1270 #define MBEDTLS_SSL_ALL_ALERT_MESSAGES
1271 
1281 //#define MBEDTLS_SSL_ASYNC_PRIVATE
1282 
1297 //#define MBEDTLS_SSL_DEBUG_ALL
1298 
1315 #define MBEDTLS_SSL_ENCRYPT_THEN_MAC
1316 
1333 #define MBEDTLS_SSL_EXTENDED_MASTER_SECRET
1334 
1350 #define MBEDTLS_SSL_FALLBACK_SCSV
1351 
1360 //#define MBEDTLS_SSL_HW_RECORD_ACCEL
1361 
1372 #define MBEDTLS_SSL_CBC_RECORD_SPLITTING
1373 
1394 #define MBEDTLS_SSL_RENEGOTIATION
1395 
1404 //#define MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO
1405 
1414 //#define MBEDTLS_SSL_SRV_RESPECT_CLIENT_PREFERENCE
1415 
1423 #define MBEDTLS_SSL_MAX_FRAGMENT_LENGTH
1424 
1435 //#define MBEDTLS_SSL_PROTO_SSL3
1436 
1447 #define MBEDTLS_SSL_PROTO_TLS1
1448 
1459 #define MBEDTLS_SSL_PROTO_TLS1_1
1460 
1471 #define MBEDTLS_SSL_PROTO_TLS1_2
1472 
1486 #define MBEDTLS_SSL_PROTO_DTLS
1487 
1495 #define MBEDTLS_SSL_ALPN
1496 
1510 #define MBEDTLS_SSL_DTLS_ANTI_REPLAY
1511 
1528 #define MBEDTLS_SSL_DTLS_HELLO_VERIFY
1529 
1544 #define MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE
1545 
1555 #define MBEDTLS_SSL_DTLS_BADMAC_LIMIT
1556 
1569 #define MBEDTLS_SSL_SESSION_TICKETS
1570 
1579 #define MBEDTLS_SSL_EXPORT_KEYS
1580 
1590 #define MBEDTLS_SSL_SERVER_NAME_INDICATION
1591 
1599 #define MBEDTLS_SSL_TRUNCATED_HMAC
1600 
1623 //#define MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT
1624 
1634 //#define MBEDTLS_THREADING_ALT
1635 
1645 //#define MBEDTLS_THREADING_PTHREAD
1646 
1658 #define MBEDTLS_VERSION_FEATURES
1659 
1668 //#define MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3
1669 
1680 //#define MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION
1681 
1694 #define MBEDTLS_X509_CHECK_KEY_USAGE
1695 
1707 #define MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE
1708 
1717 #define MBEDTLS_X509_RSASSA_PSS_SUPPORT
1718 
1742 //#define MBEDTLS_ZLIB_SUPPORT
1743 /* \} name SECTION: mbed TLS feature support */
1744 
1764 #define MBEDTLS_AESNI_C
1765 
1839 #define MBEDTLS_AES_C
1840 
1867 #define MBEDTLS_ARC4_C
1868 
1881 #define MBEDTLS_ASN1_PARSE_C
1882 
1895 #define MBEDTLS_ASN1_WRITE_C
1896 
1907 #define MBEDTLS_BASE64_C
1908 
1924 #define MBEDTLS_BIGNUM_C
1925 
1933 #define MBEDTLS_BLOWFISH_C
1934 
1988 #define MBEDTLS_CAMELLIA_C
1989 
2040 //#define MBEDTLS_ARIA_C
2041 
2054 #define MBEDTLS_CCM_C
2055 
2066 #define MBEDTLS_CERTS_C
2067 
2075 #define MBEDTLS_CHACHA20_C
2076 
2086 #define MBEDTLS_CHACHAPOLY_C
2087 
2098 #define MBEDTLS_CIPHER_C
2099 
2111 //#define MBEDTLS_CMAC_C
2112 
2127 #define MBEDTLS_CTR_DRBG_C
2128 
2141 #define MBEDTLS_DEBUG_C
2142 
2170 #define MBEDTLS_DES_C
2171 
2191 #define MBEDTLS_DHM_C
2192 
2207 #define MBEDTLS_ECDH_C
2208 
2222 #define MBEDTLS_ECDSA_C
2223 
2241 //#define MBEDTLS_ECJPAKE_C
2242 
2255 #define MBEDTLS_ECP_C
2256 
2269 #define MBEDTLS_ENTROPY_C
2270 
2281 #define MBEDTLS_ERROR_C
2282 
2295 #define MBEDTLS_GCM_C
2296 
2318 //#define MBEDTLS_HAVEGE_C
2319 
2333 #define MBEDTLS_HKDF_C
2334 
2347 #define MBEDTLS_HMAC_DRBG_C
2348 
2360 //#define MBEDTLS_NIST_KW_C
2361 
2372 #define MBEDTLS_MD_C
2373 
2389 //#define MBEDTLS_MD2_C
2390 
2406 //#define MBEDTLS_MD4_C
2407 
2428 #define MBEDTLS_MD5_C
2429 
2444 //#define MBEDTLS_MEMORY_BUFFER_ALLOC_C
2445 
2463 #define MBEDTLS_NET_C
2464 
2486 #define MBEDTLS_OID_C
2487 
2500 #define MBEDTLS_PADLOCK_C
2501 
2518 #define MBEDTLS_PEM_PARSE_C
2519 
2534 #define MBEDTLS_PEM_WRITE_C
2535 
2550 #define MBEDTLS_PK_C
2551 
2565 #define MBEDTLS_PK_PARSE_C
2566 
2579 #define MBEDTLS_PK_WRITE_C
2580 
2592 #define MBEDTLS_PKCS5_C
2593 
2607 //#define MBEDTLS_PKCS11_C
2608 
2623 #define MBEDTLS_PKCS12_C
2624 
2643 #define MBEDTLS_PLATFORM_C
2644 
2653 #define MBEDTLS_POLY1305_C
2654 
2664 #define MBEDTLS_RIPEMD160_C
2665 
2683 #define MBEDTLS_RSA_C
2684 
2705 #define MBEDTLS_SHA1_C
2706 
2722 #define MBEDTLS_SHA256_C
2723 
2737 #define MBEDTLS_SHA512_C
2738 
2749 #define MBEDTLS_SSL_CACHE_C
2750 
2759 #define MBEDTLS_SSL_COOKIE_C
2760 
2771 #define MBEDTLS_SSL_TICKET_C
2772 
2785 #define MBEDTLS_SSL_CLI_C
2786 
2799 #define MBEDTLS_SSL_SRV_C
2800 
2815 #define MBEDTLS_SSL_TLS_C
2816 
2837 //#define MBEDTLS_THREADING_C
2838 
2860 #define MBEDTLS_TIMING_C
2861 
2871 #define MBEDTLS_VERSION_C
2872 
2888 #define MBEDTLS_X509_USE_C
2889 
2904 #define MBEDTLS_X509_CRT_PARSE_C
2905 
2918 #define MBEDTLS_X509_CRL_PARSE_C
2919 
2932 #define MBEDTLS_X509_CSR_PARSE_C
2933 
2945 #define MBEDTLS_X509_CREATE_C
2946 
2958 #define MBEDTLS_X509_CRT_WRITE_C
2959 
2971 #define MBEDTLS_X509_CSR_WRITE_C
2972 
2981 #define MBEDTLS_XTEA_C
2982 
2983 /* \} name SECTION: mbed TLS modules */
2984 
3000 /* MPI / BIGNUM options */
3001 //#define MBEDTLS_MPI_WINDOW_SIZE 6 /**< Maximum windows size used. */
3002 //#define MBEDTLS_MPI_MAX_SIZE 1024 /**< Maximum number of bytes for usable MPIs. */
3003 
3004 /* CTR_DRBG options */
3005 //#define MBEDTLS_CTR_DRBG_ENTROPY_LEN 48 /**< Amount of entropy used per seed by default (48 with SHA-512, 32 with SHA-256) */
3006 //#define MBEDTLS_CTR_DRBG_RESEED_INTERVAL 10000 /**< Interval before reseed is performed by default */
3007 //#define MBEDTLS_CTR_DRBG_MAX_INPUT 256 /**< Maximum number of additional input bytes */
3008 //#define MBEDTLS_CTR_DRBG_MAX_REQUEST 1024 /**< Maximum number of requested bytes per call */
3009 //#define MBEDTLS_CTR_DRBG_MAX_SEED_INPUT 384 /**< Maximum size of (re)seed buffer */
3010 //#define MBEDTLS_CTR_DRBG_USE_128_BIT_KEY /**< Use 128-bit key for CTR_DRBG - may reduce security (see ctr_drbg.h) */
3011 
3012 /* HMAC_DRBG options */
3013 //#define MBEDTLS_HMAC_DRBG_RESEED_INTERVAL 10000 /**< Interval before reseed is performed by default */
3014 //#define MBEDTLS_HMAC_DRBG_MAX_INPUT 256 /**< Maximum number of additional input bytes */
3015 //#define MBEDTLS_HMAC_DRBG_MAX_REQUEST 1024 /**< Maximum number of requested bytes per call */
3016 //#define MBEDTLS_HMAC_DRBG_MAX_SEED_INPUT 384 /**< Maximum size of (re)seed buffer */
3017 
3018 /* ECP options */
3019 //#define MBEDTLS_ECP_MAX_BITS 521 /**< Maximum bit size of groups */
3020 //#define MBEDTLS_ECP_WINDOW_SIZE 6 /**< Maximum window size used */
3021 //#define MBEDTLS_ECP_FIXED_POINT_OPTIM 1 /**< Enable fixed-point speed-up */
3022 
3023 /* Entropy options */
3024 //#define MBEDTLS_ENTROPY_MAX_SOURCES 20 /**< Maximum number of sources supported */
3025 //#define MBEDTLS_ENTROPY_MAX_GATHER 128 /**< Maximum amount requested from entropy sources */
3026 //#define MBEDTLS_ENTROPY_MIN_HARDWARE 32 /**< Default minimum number of bytes required for the hardware entropy source mbedtls_hardware_poll() before entropy is released */
3027 
3028 /* Memory buffer allocator options */
3029 //#define MBEDTLS_MEMORY_ALIGN_MULTIPLE 4 /**< Align on multiples of this value */
3030 
3031 /* Platform options */
3032 //#define MBEDTLS_PLATFORM_STD_MEM_HDR <stdlib.h> /**< Header to include if MBEDTLS_PLATFORM_NO_STD_FUNCTIONS is defined. Don't define if no header is needed. */
3033 //#define MBEDTLS_PLATFORM_STD_CALLOC calloc /**< Default allocator to use, can be undefined */
3034 //#define MBEDTLS_PLATFORM_STD_FREE free /**< Default free to use, can be undefined */
3035 //#define MBEDTLS_PLATFORM_STD_EXIT exit /**< Default exit to use, can be undefined */
3036 //#define MBEDTLS_PLATFORM_STD_TIME time /**< Default time to use, can be undefined. MBEDTLS_HAVE_TIME must be enabled */
3037 //#define MBEDTLS_PLATFORM_STD_FPRINTF fprintf /**< Default fprintf to use, can be undefined */
3038 //#define MBEDTLS_PLATFORM_STD_PRINTF printf /**< Default printf to use, can be undefined */
3039 /* Note: your snprintf must correclty zero-terminate the buffer! */
3040 //#define MBEDTLS_PLATFORM_STD_SNPRINTF snprintf /**< Default snprintf to use, can be undefined */
3041 //#define MBEDTLS_PLATFORM_STD_EXIT_SUCCESS 0 /**< Default exit value to use, can be undefined */
3042 //#define MBEDTLS_PLATFORM_STD_EXIT_FAILURE 1 /**< Default exit value to use, can be undefined */
3043 //#define MBEDTLS_PLATFORM_STD_NV_SEED_READ mbedtls_platform_std_nv_seed_read /**< Default nv_seed_read function to use, can be undefined */
3044 //#define MBEDTLS_PLATFORM_STD_NV_SEED_WRITE mbedtls_platform_std_nv_seed_write /**< Default nv_seed_write function to use, can be undefined */
3045 //#define MBEDTLS_PLATFORM_STD_NV_SEED_FILE "seedfile" /**< Seed file to read/write with default implementation */
3046 
3047 /* To Use Function Macros MBEDTLS_PLATFORM_C must be enabled */
3048 /* MBEDTLS_PLATFORM_XXX_MACRO and MBEDTLS_PLATFORM_XXX_ALT cannot both be defined */
3049 //#define MBEDTLS_PLATFORM_CALLOC_MACRO calloc /**< Default allocator macro to use, can be undefined */
3050 //#define MBEDTLS_PLATFORM_FREE_MACRO free /**< Default free macro to use, can be undefined */
3051 //#define MBEDTLS_PLATFORM_EXIT_MACRO exit /**< Default exit macro to use, can be undefined */
3052 //#define MBEDTLS_PLATFORM_TIME_MACRO time /**< Default time macro to use, can be undefined. MBEDTLS_HAVE_TIME must be enabled */
3053 //#define MBEDTLS_PLATFORM_TIME_TYPE_MACRO time_t /**< Default time macro to use, can be undefined. MBEDTLS_HAVE_TIME must be enabled */
3054 //#define MBEDTLS_PLATFORM_FPRINTF_MACRO fprintf /**< Default fprintf macro to use, can be undefined */
3055 //#define MBEDTLS_PLATFORM_PRINTF_MACRO printf /**< Default printf macro to use, can be undefined */
3056 /* Note: your snprintf must correclty zero-terminate the buffer! */
3057 //#define MBEDTLS_PLATFORM_SNPRINTF_MACRO snprintf /**< Default snprintf macro to use, can be undefined */
3058 //#define MBEDTLS_PLATFORM_NV_SEED_READ_MACRO mbedtls_platform_std_nv_seed_read /**< Default nv_seed_read function to use, can be undefined */
3059 //#define MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO mbedtls_platform_std_nv_seed_write /**< Default nv_seed_write function to use, can be undefined */
3060 
3089 //#define MBEDTLS_PARAM_FAILED( cond ) assert( cond )
3090 
3091 /* SSL Cache options */
3092 //#define MBEDTLS_SSL_CACHE_DEFAULT_TIMEOUT 86400 /**< 1 day */
3093 //#define MBEDTLS_SSL_CACHE_DEFAULT_MAX_ENTRIES 50 /**< Maximum entries in cache */
3094 
3095 /* SSL options */
3096 
3121 //#define MBEDTLS_SSL_MAX_CONTENT_LEN 16384
3122 
3146 //#define MBEDTLS_SSL_IN_CONTENT_LEN 16384
3147 
3170 //#define MBEDTLS_SSL_OUT_CONTENT_LEN 16384
3171 
3187 //#define MBEDTLS_SSL_DTLS_MAX_BUFFERING 32768
3188 
3189 //#define MBEDTLS_SSL_DEFAULT_TICKET_LIFETIME 86400 /**< Lifetime of session tickets (if enabled) */
3190 //#define MBEDTLS_PSK_MAX_LEN 32 /**< Max size of TLS pre-shared keys, in bytes (default 256 bits) */
3191 //#define MBEDTLS_SSL_COOKIE_TIMEOUT 60 /**< Default expiration delay of DTLS cookies, in seconds if HAVE_TIME, or in number of cookies issued */
3192 
3205 //#define MBEDTLS_SSL_CIPHERSUITES MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
3206 
3207 /* X509 options */
3208 //#define MBEDTLS_X509_MAX_INTERMEDIATE_CA 8 /**< Maximum number of intermediate CAs in a verification chain. */
3209 //#define MBEDTLS_X509_MAX_FILE_PATH_LEN 512 /**< Maximum length of a path/filename string in bytes including the null terminator character ('\0'). */
3210 
3223 // #define MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_CERTIFICATES
3224 
3240 #define MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_KEY_EXCHANGE
3241 
3260 //#define MBEDTLS_PLATFORM_ZEROIZE_ALT
3261 
3279 //#define MBEDTLS_PLATFORM_GMTIME_R_ALT
3280 
3281 /* \} name SECTION: Customisation configuration options */
3282 
3283 /* Target and application specific configurations
3284  *
3285  * Allow user to override any previous default.
3286  *
3287  */
3288 #if defined(MBEDTLS_USER_CONFIG_FILE)
3289 #include MBEDTLS_USER_CONFIG_FILE
3290 #endif
3291 
3292 #include "check_config.h"
3293 
3294 #endif /* MBEDTLS_CONFIG_H */
Consistency checks for configuration options.