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 
147 #define MBEDTLS_HAVE_TIME_DATE
148 
171 //#define MBEDTLS_PLATFORM_MEMORY
172 
190 //#define MBEDTLS_PLATFORM_NO_STD_FUNCTIONS
191 
215 //#define MBEDTLS_PLATFORM_EXIT_ALT
216 //#define MBEDTLS_PLATFORM_TIME_ALT
217 //#define MBEDTLS_PLATFORM_FPRINTF_ALT
218 //#define MBEDTLS_PLATFORM_PRINTF_ALT
219 //#define MBEDTLS_PLATFORM_SNPRINTF_ALT
220 //#define MBEDTLS_PLATFORM_NV_SEED_ALT
221 //#define MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT
222 
236 //#define MBEDTLS_DEPRECATED_WARNING
237 
248 //#define MBEDTLS_DEPRECATED_REMOVED
249 
250 /* \} name SECTION: System support */
251 
271 //#define MBEDTLS_TIMING_ALT
272 
298 //#define MBEDTLS_AES_ALT
299 //#define MBEDTLS_ARC4_ALT
300 //#define MBEDTLS_ARIA_ALT
301 //#define MBEDTLS_BLOWFISH_ALT
302 //#define MBEDTLS_CAMELLIA_ALT
303 //#define MBEDTLS_CCM_ALT
304 //#define MBEDTLS_CHACHA20_ALT
305 //#define MBEDTLS_CHACHAPOLY_ALT
306 //#define MBEDTLS_CMAC_ALT
307 //#define MBEDTLS_DES_ALT
308 //#define MBEDTLS_DHM_ALT
309 //#define MBEDTLS_ECJPAKE_ALT
310 //#define MBEDTLS_GCM_ALT
311 //#define MBEDTLS_NIST_KW_ALT
312 //#define MBEDTLS_MD2_ALT
313 //#define MBEDTLS_MD4_ALT
314 //#define MBEDTLS_MD5_ALT
315 //#define MBEDTLS_POLY1305_ALT
316 //#define MBEDTLS_RIPEMD160_ALT
317 //#define MBEDTLS_RSA_ALT
318 //#define MBEDTLS_SHA1_ALT
319 //#define MBEDTLS_SHA256_ALT
320 //#define MBEDTLS_SHA512_ALT
321 //#define MBEDTLS_XTEA_ALT
322 
323 /*
324  * When replacing the elliptic curve module, pleace consider, that it is
325  * implemented with two .c files:
326  * - ecp.c
327  * - ecp_curves.c
328  * You can replace them very much like all the other MBEDTLS__MODULE_NAME__ALT
329  * macros as described above. The only difference is that you have to make sure
330  * that you provide functionality for both .c files.
331  */
332 //#define MBEDTLS_ECP_ALT
333 
369 //#define MBEDTLS_MD2_PROCESS_ALT
370 //#define MBEDTLS_MD4_PROCESS_ALT
371 //#define MBEDTLS_MD5_PROCESS_ALT
372 //#define MBEDTLS_RIPEMD160_PROCESS_ALT
373 //#define MBEDTLS_SHA1_PROCESS_ALT
374 //#define MBEDTLS_SHA256_PROCESS_ALT
375 //#define MBEDTLS_SHA512_PROCESS_ALT
376 //#define MBEDTLS_DES_SETKEY_ALT
377 //#define MBEDTLS_DES_CRYPT_ECB_ALT
378 //#define MBEDTLS_DES3_CRYPT_ECB_ALT
379 //#define MBEDTLS_AES_SETKEY_ENC_ALT
380 //#define MBEDTLS_AES_SETKEY_DEC_ALT
381 //#define MBEDTLS_AES_ENCRYPT_ALT
382 //#define MBEDTLS_AES_DECRYPT_ALT
383 //#define MBEDTLS_ECDH_GEN_PUBLIC_ALT
384 //#define MBEDTLS_ECDH_COMPUTE_SHARED_ALT
385 //#define MBEDTLS_ECDSA_VERIFY_ALT
386 //#define MBEDTLS_ECDSA_SIGN_ALT
387 //#define MBEDTLS_ECDSA_GENKEY_ALT
388 
429 /* Required for all the functions in this section */
430 //#define MBEDTLS_ECP_INTERNAL_ALT
431 /* Support for Weierstrass curves with Jacobi representation */
432 //#define MBEDTLS_ECP_RANDOMIZE_JAC_ALT
433 //#define MBEDTLS_ECP_ADD_MIXED_ALT
434 //#define MBEDTLS_ECP_DOUBLE_JAC_ALT
435 //#define MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT
436 //#define MBEDTLS_ECP_NORMALIZE_JAC_ALT
437 /* Support for curves with Montgomery arithmetic */
438 //#define MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT
439 //#define MBEDTLS_ECP_RANDOMIZE_MXZ_ALT
440 //#define MBEDTLS_ECP_NORMALIZE_MXZ_ALT
441 
457 //#define MBEDTLS_TEST_NULL_ENTROPY
458 
470 //#define MBEDTLS_ENTROPY_HARDWARE_ALT
471 
490 //#define MBEDTLS_AES_ROM_TABLES
491 
512 //#define MBEDTLS_AES_FEWER_TABLES
513 
521 //#define MBEDTLS_CAMELLIA_SMALL_MEMORY
522 
528 #define MBEDTLS_CIPHER_MODE_CBC
529 
535 #define MBEDTLS_CIPHER_MODE_CFB
536 
542 #define MBEDTLS_CIPHER_MODE_CTR
543 
549 #define MBEDTLS_CIPHER_MODE_OFB
550 
556 #define MBEDTLS_CIPHER_MODE_XTS
557 
589 //#define MBEDTLS_CIPHER_NULL_CIPHER
590 
602 #define MBEDTLS_CIPHER_PADDING_PKCS7
603 #define MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS
604 #define MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN
605 #define MBEDTLS_CIPHER_PADDING_ZEROS
606 
623 //#define MBEDTLS_ENABLE_WEAK_CIPHERSUITES
624 
636 #define MBEDTLS_REMOVE_ARC4_CIPHERSUITES
637 
646 #define MBEDTLS_ECP_DP_SECP192R1_ENABLED
647 #define MBEDTLS_ECP_DP_SECP224R1_ENABLED
648 #define MBEDTLS_ECP_DP_SECP256R1_ENABLED
649 #define MBEDTLS_ECP_DP_SECP384R1_ENABLED
650 #define MBEDTLS_ECP_DP_SECP521R1_ENABLED
651 #define MBEDTLS_ECP_DP_SECP192K1_ENABLED
652 #define MBEDTLS_ECP_DP_SECP224K1_ENABLED
653 #define MBEDTLS_ECP_DP_SECP256K1_ENABLED
654 #define MBEDTLS_ECP_DP_BP256R1_ENABLED
655 #define MBEDTLS_ECP_DP_BP384R1_ENABLED
656 #define MBEDTLS_ECP_DP_BP512R1_ENABLED
657 #define MBEDTLS_ECP_DP_CURVE25519_ENABLED
658 #define MBEDTLS_ECP_DP_CURVE448_ENABLED
659 
669 #define MBEDTLS_ECP_NIST_OPTIM
670 
683 #define MBEDTLS_ECDSA_DETERMINISTIC
684 
705 #define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
706 
736 #define MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED
737 
756 #define MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
757 
781 #define MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
782 
809 #define MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
810 
842 #define MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED
843 
867 #define MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
868 
891 #define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
892 
915 #define MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED
916 
939 #define MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
940 
958 //#define MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED
959 
972 #define MBEDTLS_PK_PARSE_EC_EXTENDED
973 
987 #define MBEDTLS_ERROR_STRERROR_DUMMY
988 
996 #define MBEDTLS_GENPRIME
997 
1003 #define MBEDTLS_FS_IO
1004 
1016 //#define MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES
1017 
1027 //#define MBEDTLS_NO_PLATFORM_ENTROPY
1028 
1043 //#define MBEDTLS_ENTROPY_FORCE_SHA256
1044 
1071 //#define MBEDTLS_ENTROPY_NV_SEED
1072 
1084 //#define MBEDTLS_MEMORY_DEBUG
1085 
1096 //#define MBEDTLS_MEMORY_BACKTRACE
1097 
1105 #define MBEDTLS_PK_RSA_ALT_SUPPORT
1106 
1116 #define MBEDTLS_PKCS1_V15
1117 
1127 #define MBEDTLS_PKCS1_V21
1128 
1138 //#define MBEDTLS_RSA_NO_CRT
1139 
1145 #define MBEDTLS_SELF_TEST
1146 
1161 //#define MBEDTLS_SHA256_SMALLER
1162 
1175 #define MBEDTLS_SSL_ALL_ALERT_MESSAGES
1176 
1186 //#define MBEDTLS_SSL_ASYNC_PRIVATE
1187 
1202 //#define MBEDTLS_SSL_DEBUG_ALL
1203 
1220 #define MBEDTLS_SSL_ENCRYPT_THEN_MAC
1221 
1238 #define MBEDTLS_SSL_EXTENDED_MASTER_SECRET
1239 
1255 #define MBEDTLS_SSL_FALLBACK_SCSV
1256 
1265 //#define MBEDTLS_SSL_HW_RECORD_ACCEL
1266 
1277 #define MBEDTLS_SSL_CBC_RECORD_SPLITTING
1278 
1299 #define MBEDTLS_SSL_RENEGOTIATION
1300 
1309 //#define MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO
1310 
1319 //#define MBEDTLS_SSL_SRV_RESPECT_CLIENT_PREFERENCE
1320 
1328 #define MBEDTLS_SSL_MAX_FRAGMENT_LENGTH
1329 
1340 //#define MBEDTLS_SSL_PROTO_SSL3
1341 
1352 #define MBEDTLS_SSL_PROTO_TLS1
1353 
1364 #define MBEDTLS_SSL_PROTO_TLS1_1
1365 
1376 #define MBEDTLS_SSL_PROTO_TLS1_2
1377 
1391 #define MBEDTLS_SSL_PROTO_DTLS
1392 
1400 #define MBEDTLS_SSL_ALPN
1401 
1415 #define MBEDTLS_SSL_DTLS_ANTI_REPLAY
1416 
1433 #define MBEDTLS_SSL_DTLS_HELLO_VERIFY
1434 
1449 #define MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE
1450 
1460 #define MBEDTLS_SSL_DTLS_BADMAC_LIMIT
1461 
1474 #define MBEDTLS_SSL_SESSION_TICKETS
1475 
1484 #define MBEDTLS_SSL_EXPORT_KEYS
1485 
1495 #define MBEDTLS_SSL_SERVER_NAME_INDICATION
1496 
1504 #define MBEDTLS_SSL_TRUNCATED_HMAC
1505 
1528 //#define MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT
1529 
1539 //#define MBEDTLS_THREADING_ALT
1540 
1550 //#define MBEDTLS_THREADING_PTHREAD
1551 
1563 #define MBEDTLS_VERSION_FEATURES
1564 
1573 //#define MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3
1574 
1585 //#define MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION
1586 
1599 #define MBEDTLS_X509_CHECK_KEY_USAGE
1600 
1612 #define MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE
1613 
1622 #define MBEDTLS_X509_RSASSA_PSS_SUPPORT
1623 
1647 //#define MBEDTLS_ZLIB_SUPPORT
1648 /* \} name SECTION: mbed TLS feature support */
1649 
1669 #define MBEDTLS_AESNI_C
1670 
1744 #define MBEDTLS_AES_C
1745 
1772 #define MBEDTLS_ARC4_C
1773 
1786 #define MBEDTLS_ASN1_PARSE_C
1787 
1800 #define MBEDTLS_ASN1_WRITE_C
1801 
1812 #define MBEDTLS_BASE64_C
1813 
1829 #define MBEDTLS_BIGNUM_C
1830 
1838 #define MBEDTLS_BLOWFISH_C
1839 
1893 #define MBEDTLS_CAMELLIA_C
1894 
1945 //#define MBEDTLS_ARIA_C
1946 
1959 #define MBEDTLS_CCM_C
1960 
1971 #define MBEDTLS_CERTS_C
1972 
1980 #define MBEDTLS_CHACHA20_C
1981 
1991 #define MBEDTLS_CHACHAPOLY_C
1992 
2003 #define MBEDTLS_CIPHER_C
2004 
2016 //#define MBEDTLS_CMAC_C
2017 
2030 #define MBEDTLS_CTR_DRBG_C
2031 
2044 #define MBEDTLS_DEBUG_C
2045 
2073 #define MBEDTLS_DES_C
2074 
2094 #define MBEDTLS_DHM_C
2095 
2110 #define MBEDTLS_ECDH_C
2111 
2125 #define MBEDTLS_ECDSA_C
2126 
2144 //#define MBEDTLS_ECJPAKE_C
2145 
2158 #define MBEDTLS_ECP_C
2159 
2172 #define MBEDTLS_ENTROPY_C
2173 
2184 #define MBEDTLS_ERROR_C
2185 
2198 #define MBEDTLS_GCM_C
2199 
2221 //#define MBEDTLS_HAVEGE_C
2222 
2236 #define MBEDTLS_HKDF_C
2237 
2250 #define MBEDTLS_HMAC_DRBG_C
2251 
2263 //#define MBEDTLS_NIST_KW_C
2264 
2275 #define MBEDTLS_MD_C
2276 
2292 //#define MBEDTLS_MD2_C
2293 
2309 //#define MBEDTLS_MD4_C
2310 
2331 #define MBEDTLS_MD5_C
2332 
2347 //#define MBEDTLS_MEMORY_BUFFER_ALLOC_C
2348 
2366 #define MBEDTLS_NET_C
2367 
2389 #define MBEDTLS_OID_C
2390 
2403 #define MBEDTLS_PADLOCK_C
2404 
2421 #define MBEDTLS_PEM_PARSE_C
2422 
2437 #define MBEDTLS_PEM_WRITE_C
2438 
2453 #define MBEDTLS_PK_C
2454 
2468 #define MBEDTLS_PK_PARSE_C
2469 
2482 #define MBEDTLS_PK_WRITE_C
2483 
2495 #define MBEDTLS_PKCS5_C
2496 
2510 //#define MBEDTLS_PKCS11_C
2511 
2526 #define MBEDTLS_PKCS12_C
2527 
2546 #define MBEDTLS_PLATFORM_C
2547 
2556 #define MBEDTLS_POLY1305_C
2557 
2567 #define MBEDTLS_RIPEMD160_C
2568 
2586 #define MBEDTLS_RSA_C
2587 
2608 #define MBEDTLS_SHA1_C
2609 
2625 #define MBEDTLS_SHA256_C
2626 
2640 #define MBEDTLS_SHA512_C
2641 
2652 #define MBEDTLS_SSL_CACHE_C
2653 
2662 #define MBEDTLS_SSL_COOKIE_C
2663 
2674 #define MBEDTLS_SSL_TICKET_C
2675 
2688 #define MBEDTLS_SSL_CLI_C
2689 
2702 #define MBEDTLS_SSL_SRV_C
2703 
2718 #define MBEDTLS_SSL_TLS_C
2719 
2740 //#define MBEDTLS_THREADING_C
2741 
2763 #define MBEDTLS_TIMING_C
2764 
2774 #define MBEDTLS_VERSION_C
2775 
2791 #define MBEDTLS_X509_USE_C
2792 
2807 #define MBEDTLS_X509_CRT_PARSE_C
2808 
2821 #define MBEDTLS_X509_CRL_PARSE_C
2822 
2835 #define MBEDTLS_X509_CSR_PARSE_C
2836 
2848 #define MBEDTLS_X509_CREATE_C
2849 
2861 #define MBEDTLS_X509_CRT_WRITE_C
2862 
2874 #define MBEDTLS_X509_CSR_WRITE_C
2875 
2884 #define MBEDTLS_XTEA_C
2885 
2886 /* \} name SECTION: mbed TLS modules */
2887 
2903 /* MPI / BIGNUM options */
2904 //#define MBEDTLS_MPI_WINDOW_SIZE 6 /**< Maximum windows size used. */
2905 //#define MBEDTLS_MPI_MAX_SIZE 1024 /**< Maximum number of bytes for usable MPIs. */
2906 
2907 /* CTR_DRBG options */
2908 //#define MBEDTLS_CTR_DRBG_ENTROPY_LEN 48 /**< Amount of entropy used per seed by default (48 with SHA-512, 32 with SHA-256) */
2909 //#define MBEDTLS_CTR_DRBG_RESEED_INTERVAL 10000 /**< Interval before reseed is performed by default */
2910 //#define MBEDTLS_CTR_DRBG_MAX_INPUT 256 /**< Maximum number of additional input bytes */
2911 //#define MBEDTLS_CTR_DRBG_MAX_REQUEST 1024 /**< Maximum number of requested bytes per call */
2912 //#define MBEDTLS_CTR_DRBG_MAX_SEED_INPUT 384 /**< Maximum size of (re)seed buffer */
2913 
2914 /* HMAC_DRBG options */
2915 //#define MBEDTLS_HMAC_DRBG_RESEED_INTERVAL 10000 /**< Interval before reseed is performed by default */
2916 //#define MBEDTLS_HMAC_DRBG_MAX_INPUT 256 /**< Maximum number of additional input bytes */
2917 //#define MBEDTLS_HMAC_DRBG_MAX_REQUEST 1024 /**< Maximum number of requested bytes per call */
2918 //#define MBEDTLS_HMAC_DRBG_MAX_SEED_INPUT 384 /**< Maximum size of (re)seed buffer */
2919 
2920 /* ECP options */
2921 //#define MBEDTLS_ECP_MAX_BITS 521 /**< Maximum bit size of groups */
2922 //#define MBEDTLS_ECP_WINDOW_SIZE 6 /**< Maximum window size used */
2923 //#define MBEDTLS_ECP_FIXED_POINT_OPTIM 1 /**< Enable fixed-point speed-up */
2924 
2925 /* Entropy options */
2926 //#define MBEDTLS_ENTROPY_MAX_SOURCES 20 /**< Maximum number of sources supported */
2927 //#define MBEDTLS_ENTROPY_MAX_GATHER 128 /**< Maximum amount requested from entropy sources */
2928 //#define MBEDTLS_ENTROPY_MIN_HARDWARE 32 /**< Default minimum number of bytes required for the hardware entropy source mbedtls_hardware_poll() before entropy is released */
2929 
2930 /* Memory buffer allocator options */
2931 //#define MBEDTLS_MEMORY_ALIGN_MULTIPLE 4 /**< Align on multiples of this value */
2932 
2933 /* Platform options */
2934 //#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. */
2935 //#define MBEDTLS_PLATFORM_STD_CALLOC calloc /**< Default allocator to use, can be undefined */
2936 //#define MBEDTLS_PLATFORM_STD_FREE free /**< Default free to use, can be undefined */
2937 //#define MBEDTLS_PLATFORM_STD_EXIT exit /**< Default exit to use, can be undefined */
2938 //#define MBEDTLS_PLATFORM_STD_TIME time /**< Default time to use, can be undefined. MBEDTLS_HAVE_TIME must be enabled */
2939 //#define MBEDTLS_PLATFORM_STD_FPRINTF fprintf /**< Default fprintf to use, can be undefined */
2940 //#define MBEDTLS_PLATFORM_STD_PRINTF printf /**< Default printf to use, can be undefined */
2941 /* Note: your snprintf must correclty zero-terminate the buffer! */
2942 //#define MBEDTLS_PLATFORM_STD_SNPRINTF snprintf /**< Default snprintf to use, can be undefined */
2943 //#define MBEDTLS_PLATFORM_STD_EXIT_SUCCESS 0 /**< Default exit value to use, can be undefined */
2944 //#define MBEDTLS_PLATFORM_STD_EXIT_FAILURE 1 /**< Default exit value to use, can be undefined */
2945 //#define MBEDTLS_PLATFORM_STD_NV_SEED_READ mbedtls_platform_std_nv_seed_read /**< Default nv_seed_read function to use, can be undefined */
2946 //#define MBEDTLS_PLATFORM_STD_NV_SEED_WRITE mbedtls_platform_std_nv_seed_write /**< Default nv_seed_write function to use, can be undefined */
2947 //#define MBEDTLS_PLATFORM_STD_NV_SEED_FILE "seedfile" /**< Seed file to read/write with default implementation */
2948 
2949 /* To Use Function Macros MBEDTLS_PLATFORM_C must be enabled */
2950 /* MBEDTLS_PLATFORM_XXX_MACRO and MBEDTLS_PLATFORM_XXX_ALT cannot both be defined */
2951 //#define MBEDTLS_PLATFORM_CALLOC_MACRO calloc /**< Default allocator macro to use, can be undefined */
2952 //#define MBEDTLS_PLATFORM_FREE_MACRO free /**< Default free macro to use, can be undefined */
2953 //#define MBEDTLS_PLATFORM_EXIT_MACRO exit /**< Default exit macro to use, can be undefined */
2954 //#define MBEDTLS_PLATFORM_TIME_MACRO time /**< Default time macro to use, can be undefined. MBEDTLS_HAVE_TIME must be enabled */
2955 //#define MBEDTLS_PLATFORM_TIME_TYPE_MACRO time_t /**< Default time macro to use, can be undefined. MBEDTLS_HAVE_TIME must be enabled */
2956 //#define MBEDTLS_PLATFORM_FPRINTF_MACRO fprintf /**< Default fprintf macro to use, can be undefined */
2957 //#define MBEDTLS_PLATFORM_PRINTF_MACRO printf /**< Default printf macro to use, can be undefined */
2958 /* Note: your snprintf must correclty zero-terminate the buffer! */
2959 //#define MBEDTLS_PLATFORM_SNPRINTF_MACRO snprintf /**< Default snprintf macro to use, can be undefined */
2960 //#define MBEDTLS_PLATFORM_NV_SEED_READ_MACRO mbedtls_platform_std_nv_seed_read /**< Default nv_seed_read function to use, can be undefined */
2961 //#define MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO mbedtls_platform_std_nv_seed_write /**< Default nv_seed_write function to use, can be undefined */
2962 
2963 /* SSL Cache options */
2964 //#define MBEDTLS_SSL_CACHE_DEFAULT_TIMEOUT 86400 /**< 1 day */
2965 //#define MBEDTLS_SSL_CACHE_DEFAULT_MAX_ENTRIES 50 /**< Maximum entries in cache */
2966 
2967 /* SSL options */
2968 
2979 //#define MBEDTLS_SSL_MAX_CONTENT_LEN 16384
2980 
2988 //#define MBEDTLS_SSL_IN_CONTENT_LEN 16384
2989 
3011 //#define MBEDTLS_SSL_OUT_CONTENT_LEN 16384
3012 
3028 //#define MBEDTLS_SSL_DTLS_MAX_BUFFERING 32768
3029 
3030 //#define MBEDTLS_SSL_DEFAULT_TICKET_LIFETIME 86400 /**< Lifetime of session tickets (if enabled) */
3031 //#define MBEDTLS_PSK_MAX_LEN 32 /**< Max size of TLS pre-shared keys, in bytes (default 256 bits) */
3032 //#define MBEDTLS_SSL_COOKIE_TIMEOUT 60 /**< Default expiration delay of DTLS cookies, in seconds if HAVE_TIME, or in number of cookies issued */
3033 
3046 //#define MBEDTLS_SSL_CIPHERSUITES MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
3047 
3048 /* X509 options */
3049 //#define MBEDTLS_X509_MAX_INTERMEDIATE_CA 8 /**< Maximum number of intermediate CAs in a verification chain. */
3050 //#define MBEDTLS_X509_MAX_FILE_PATH_LEN 512 /**< Maximum length of a path/filename string in bytes including the null terminator character ('\0'). */
3051 
3064 // #define MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_CERTIFICATES
3065 
3081 #define MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_KEY_EXCHANGE
3082 
3101 //#define MBEDTLS_PLATFORM_ZEROIZE_ALT
3102 
3103 /* \} name SECTION: Customisation configuration options */
3104 
3105 /* Target and application specific configurations */
3106 //#define YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE "target_config.h"
3107 
3108 #if defined(TARGET_LIKE_MBED) && defined(YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE)
3109 #include YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE
3110 #endif
3111 
3112 /*
3113  * Allow user to override any previous default.
3114  *
3115  * Use two macro names for that, as:
3116  * - with yotta the prefix YOTTA_CFG_ is forced
3117  * - without yotta is looks weird to have a YOTTA prefix.
3118  */
3119 #if defined(YOTTA_CFG_MBEDTLS_USER_CONFIG_FILE)
3120 #include YOTTA_CFG_MBEDTLS_USER_CONFIG_FILE
3121 #elif defined(MBEDTLS_USER_CONFIG_FILE)
3122 #include MBEDTLS_USER_CONFIG_FILE
3123 #endif
3124 
3125 #include "check_config.h"
3126 
3127 #endif /* MBEDTLS_CONFIG_H */
Consistency checks for configuration options.