00001 00010 /* 00011 * Copyright (C) 2006-2015, ARM Limited, All Rights Reserved 00012 * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later 00013 * 00014 * This file is provided under the Apache License 2.0, or the 00015 * GNU General Public License v2.0 or later. 00016 * 00017 * ********** 00018 * Apache License 2.0: 00019 * 00020 * Licensed under the Apache License, Version 2.0 (the "License"); you may 00021 * not use this file except in compliance with the License. 00022 * You may obtain a copy of the License at 00023 * 00024 * http://www.apache.org/licenses/LICENSE-2.0 00025 * 00026 * Unless required by applicable law or agreed to in writing, software 00027 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 00028 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00029 * See the License for the specific language governing permissions and 00030 * limitations under the License. 00031 * 00032 * ********** 00033 * 00034 * ********** 00035 * GNU General Public License v2.0 or later: 00036 * 00037 * This program is free software; you can redistribute it and/or modify 00038 * it under the terms of the GNU General Public License as published by 00039 * the Free Software Foundation; either version 2 of the License, or 00040 * (at your option) any later version. 00041 * 00042 * This program is distributed in the hope that it will be useful, 00043 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00044 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00045 * GNU General Public License for more details. 00046 * 00047 * You should have received a copy of the GNU General Public License along 00048 * with this program; if not, write to the Free Software Foundation, Inc., 00049 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 00050 * 00051 * ********** 00052 * 00053 * This file is part of mbed TLS (https://tls.mbed.org) 00054 */ 00055 00056 #ifndef MBEDTLS_CONFIG_H 00057 #define MBEDTLS_CONFIG_H 00058 00059 #if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) 00060 #define _CRT_SECURE_NO_DEPRECATE 1 00061 #endif 00062 00084 #define MBEDTLS_HAVE_ASM 00085 00112 //#define MBEDTLS_NO_UDBL_DIVISION 00113 00121 //#define MBEDTLS_HAVE_SSE2 00122 00136 #define MBEDTLS_HAVE_TIME 00137 00148 #define MBEDTLS_HAVE_TIME_DATE 00149 00172 //#define MBEDTLS_PLATFORM_MEMORY 00173 00191 //#define MBEDTLS_PLATFORM_NO_STD_FUNCTIONS 00192 00216 //#define MBEDTLS_PLATFORM_EXIT_ALT 00217 //#define MBEDTLS_PLATFORM_TIME_ALT 00218 //#define MBEDTLS_PLATFORM_FPRINTF_ALT 00219 //#define MBEDTLS_PLATFORM_PRINTF_ALT 00220 //#define MBEDTLS_PLATFORM_SNPRINTF_ALT 00221 //#define MBEDTLS_PLATFORM_NV_SEED_ALT 00222 //#define MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT 00223 00237 //#define MBEDTLS_DEPRECATED_WARNING 00238 00249 //#define MBEDTLS_DEPRECATED_REMOVED 00250 00251 /* \} name SECTION: System support */ 00252 00272 //#define MBEDTLS_TIMING_ALT 00273 00299 //#define MBEDTLS_AES_ALT 00300 //#define MBEDTLS_ARC4_ALT 00301 //#define MBEDTLS_BLOWFISH_ALT 00302 //#define MBEDTLS_CAMELLIA_ALT 00303 //#define MBEDTLS_CCM_ALT 00304 //#define MBEDTLS_CMAC_ALT 00305 //#define MBEDTLS_DES_ALT 00306 //#define MBEDTLS_DHM_ALT 00307 //#define MBEDTLS_ECJPAKE_ALT 00308 //#define MBEDTLS_GCM_ALT 00309 //#define MBEDTLS_MD2_ALT 00310 //#define MBEDTLS_MD4_ALT 00311 //#define MBEDTLS_MD5_ALT 00312 //#define MBEDTLS_RIPEMD160_ALT 00313 //#define MBEDTLS_RSA_ALT 00314 //#define MBEDTLS_SHA1_ALT 00315 //#define MBEDTLS_SHA256_ALT 00316 //#define MBEDTLS_SHA512_ALT 00317 //#define MBEDTLS_XTEA_ALT 00318 /* 00319 * When replacing the elliptic curve module, pleace consider, that it is 00320 * implemented with two .c files: 00321 * - ecp.c 00322 * - ecp_curves.c 00323 * You can replace them very much like all the other MBEDTLS__MODULE_NAME__ALT 00324 * macros as described above. The only difference is that you have to make sure 00325 * that you provide functionality for both .c files. 00326 */ 00327 //#define MBEDTLS_ECP_ALT 00328 00374 //#define MBEDTLS_MD2_PROCESS_ALT 00375 //#define MBEDTLS_MD4_PROCESS_ALT 00376 //#define MBEDTLS_MD5_PROCESS_ALT 00377 //#define MBEDTLS_RIPEMD160_PROCESS_ALT 00378 //#define MBEDTLS_SHA1_PROCESS_ALT 00379 //#define MBEDTLS_SHA256_PROCESS_ALT 00380 //#define MBEDTLS_SHA512_PROCESS_ALT 00381 //#define MBEDTLS_DES_SETKEY_ALT 00382 //#define MBEDTLS_DES_CRYPT_ECB_ALT 00383 //#define MBEDTLS_DES3_CRYPT_ECB_ALT 00384 //#define MBEDTLS_AES_SETKEY_ENC_ALT 00385 //#define MBEDTLS_AES_SETKEY_DEC_ALT 00386 //#define MBEDTLS_AES_ENCRYPT_ALT 00387 //#define MBEDTLS_AES_DECRYPT_ALT 00388 //#define MBEDTLS_ECDH_GEN_PUBLIC_ALT 00389 //#define MBEDTLS_ECDH_COMPUTE_SHARED_ALT 00390 //#define MBEDTLS_ECDSA_VERIFY_ALT 00391 //#define MBEDTLS_ECDSA_SIGN_ALT 00392 //#define MBEDTLS_ECDSA_GENKEY_ALT 00393 00434 /* Required for all the functions in this section */ 00435 //#define MBEDTLS_ECP_INTERNAL_ALT 00436 /* Support for Weierstrass curves with Jacobi representation */ 00437 //#define MBEDTLS_ECP_RANDOMIZE_JAC_ALT 00438 //#define MBEDTLS_ECP_ADD_MIXED_ALT 00439 //#define MBEDTLS_ECP_DOUBLE_JAC_ALT 00440 //#define MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT 00441 //#define MBEDTLS_ECP_NORMALIZE_JAC_ALT 00442 /* Support for curves with Montgomery arithmetic */ 00443 //#define MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT 00444 //#define MBEDTLS_ECP_RANDOMIZE_MXZ_ALT 00445 //#define MBEDTLS_ECP_NORMALIZE_MXZ_ALT 00446 00462 //#define MBEDTLS_TEST_NULL_ENTROPY 00463 00475 //#define MBEDTLS_ENTROPY_HARDWARE_ALT 00476 00484 //#define MBEDTLS_AES_ROM_TABLES 00485 00493 //#define MBEDTLS_CAMELLIA_SMALL_MEMORY 00494 00500 #define MBEDTLS_CIPHER_MODE_CBC 00501 00507 #define MBEDTLS_CIPHER_MODE_CFB 00508 00514 #define MBEDTLS_CIPHER_MODE_CTR 00515 00547 //#define MBEDTLS_CIPHER_NULL_CIPHER 00548 00560 #define MBEDTLS_CIPHER_PADDING_PKCS7 00561 #define MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS 00562 #define MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN 00563 #define MBEDTLS_CIPHER_PADDING_ZEROS 00564 00581 //#define MBEDTLS_ENABLE_WEAK_CIPHERSUITES 00582 00594 #define MBEDTLS_REMOVE_ARC4_CIPHERSUITES 00595 00614 #define MBEDTLS_REMOVE_3DES_CIPHERSUITES 00615 00624 #define MBEDTLS_ECP_DP_SECP192R1_ENABLED 00625 #define MBEDTLS_ECP_DP_SECP224R1_ENABLED 00626 #define MBEDTLS_ECP_DP_SECP256R1_ENABLED 00627 #define MBEDTLS_ECP_DP_SECP384R1_ENABLED 00628 #define MBEDTLS_ECP_DP_SECP521R1_ENABLED 00629 #define MBEDTLS_ECP_DP_SECP192K1_ENABLED 00630 #define MBEDTLS_ECP_DP_SECP224K1_ENABLED 00631 #define MBEDTLS_ECP_DP_SECP256K1_ENABLED 00632 #define MBEDTLS_ECP_DP_BP256R1_ENABLED 00633 #define MBEDTLS_ECP_DP_BP384R1_ENABLED 00634 #define MBEDTLS_ECP_DP_BP512R1_ENABLED 00635 #define MBEDTLS_ECP_DP_CURVE25519_ENABLED 00636 00646 #define MBEDTLS_ECP_NIST_OPTIM 00647 00668 //#define MBEDTLS_ECP_NO_INTERNAL_RNG 00669 00682 #define MBEDTLS_ECDSA_DETERMINISTIC 00683 00704 #define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED 00705 00735 #define MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED 00736 00755 #define MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED 00756 00780 #define MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED 00781 00808 #define MBEDTLS_KEY_EXCHANGE_RSA_ENABLED 00809 00841 #define MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED 00842 00866 #define MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED 00867 00890 #define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED 00891 00914 #define MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED 00915 00938 #define MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED 00939 00957 //#define MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED 00958 00971 #define MBEDTLS_PK_PARSE_EC_EXTENDED 00972 00986 #define MBEDTLS_ERROR_STRERROR_DUMMY 00987 00995 #define MBEDTLS_GENPRIME 00996 01002 #define MBEDTLS_FS_IO 01003 01015 //#define MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES 01016 01026 //#define MBEDTLS_NO_PLATFORM_ENTROPY 01027 01042 //#define MBEDTLS_ENTROPY_FORCE_SHA256 01043 01070 //#define MBEDTLS_ENTROPY_NV_SEED 01071 01083 //#define MBEDTLS_MEMORY_DEBUG 01084 01095 //#define MBEDTLS_MEMORY_BACKTRACE 01096 01104 #define MBEDTLS_PK_RSA_ALT_SUPPORT 01105 01115 #define MBEDTLS_PKCS1_V15 01116 01126 #define MBEDTLS_PKCS1_V21 01127 01137 //#define MBEDTLS_RSA_NO_CRT 01138 01144 #define MBEDTLS_SELF_TEST 01145 01160 //#define MBEDTLS_SHA256_SMALLER 01161 01174 #define MBEDTLS_SSL_ALL_ALERT_MESSAGES 01175 01190 //#define MBEDTLS_SSL_DEBUG_ALL 01191 01208 #define MBEDTLS_SSL_ENCRYPT_THEN_MAC 01209 01226 #define MBEDTLS_SSL_EXTENDED_MASTER_SECRET 01227 01243 #define MBEDTLS_SSL_FALLBACK_SCSV 01244 01253 //#define MBEDTLS_SSL_HW_RECORD_ACCEL 01254 01265 #define MBEDTLS_SSL_CBC_RECORD_SPLITTING 01266 01287 #define MBEDTLS_SSL_RENEGOTIATION 01288 01297 //#define MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO 01298 01307 //#define MBEDTLS_SSL_SRV_RESPECT_CLIENT_PREFERENCE 01308 01316 #define MBEDTLS_SSL_MAX_FRAGMENT_LENGTH 01317 01328 //#define MBEDTLS_SSL_PROTO_SSL3 01329 01340 #define MBEDTLS_SSL_PROTO_TLS1 01341 01352 #define MBEDTLS_SSL_PROTO_TLS1_1 01353 01364 #define MBEDTLS_SSL_PROTO_TLS1_2 01365 01379 #define MBEDTLS_SSL_PROTO_DTLS 01380 01388 #define MBEDTLS_SSL_ALPN 01389 01403 #define MBEDTLS_SSL_DTLS_ANTI_REPLAY 01404 01421 #define MBEDTLS_SSL_DTLS_HELLO_VERIFY 01422 01437 #define MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE 01438 01448 #define MBEDTLS_SSL_DTLS_BADMAC_LIMIT 01449 01462 #define MBEDTLS_SSL_SESSION_TICKETS 01463 01472 #define MBEDTLS_SSL_EXPORT_KEYS 01473 01483 #define MBEDTLS_SSL_SERVER_NAME_INDICATION 01484 01492 #define MBEDTLS_SSL_TRUNCATED_HMAC 01493 01516 //#define MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT 01517 01527 //#define MBEDTLS_THREADING_ALT 01528 01538 #define MBEDTLS_THREADING_PTHREAD 01539 01551 #define MBEDTLS_VERSION_FEATURES 01552 01561 //#define MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3 01562 01573 //#define MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION 01574 01587 #define MBEDTLS_X509_CHECK_KEY_USAGE 01588 01600 #define MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE 01601 01610 #define MBEDTLS_X509_RSASSA_PSS_SUPPORT 01611 01632 #define MBEDTLS_ZLIB_SUPPORT 01633 /* \} name SECTION: mbed TLS feature support */ 01634 01654 #define MBEDTLS_AESNI_C 01655 01729 #define MBEDTLS_AES_C 01730 01757 #define MBEDTLS_ARC4_C 01758 01771 #define MBEDTLS_ASN1_PARSE_C 01772 01785 #define MBEDTLS_ASN1_WRITE_C 01786 01797 #define MBEDTLS_BASE64_C 01798 01814 #define MBEDTLS_BIGNUM_C 01815 01823 #define MBEDTLS_BLOWFISH_C 01824 01878 #define MBEDTLS_CAMELLIA_C 01879 01892 #define MBEDTLS_CCM_C 01893 01904 #define MBEDTLS_CERTS_C 01905 01916 #define MBEDTLS_CIPHER_C 01917 01929 //#define MBEDTLS_CMAC_C 01930 01947 #define MBEDTLS_CTR_DRBG_C 01948 01961 #define MBEDTLS_DEBUG_C 01962 01990 #define MBEDTLS_DES_C 01991 02011 #define MBEDTLS_DHM_C 02012 02027 #define MBEDTLS_ECDH_C 02028 02042 #define MBEDTLS_ECDSA_C 02043 02061 //#define MBEDTLS_ECJPAKE_C 02062 02075 #define MBEDTLS_ECP_C 02076 02089 #define MBEDTLS_ENTROPY_C 02090 02101 #define MBEDTLS_ERROR_C 02102 02115 #define MBEDTLS_GCM_C 02116 02138 #define MBEDTLS_HAVEGE_C 02139 02152 #define MBEDTLS_HMAC_DRBG_C 02153 02164 #define MBEDTLS_MD_C 02165 02181 //#define MBEDTLS_MD2_C 02182 02198 //#define MBEDTLS_MD4_C 02199 02220 #define MBEDTLS_MD5_C 02221 02236 //#define MBEDTLS_MEMORY_BUFFER_ALLOC_C 02237 02255 #define MBEDTLS_NET_C 02256 02278 #define MBEDTLS_OID_C 02279 02292 #define MBEDTLS_PADLOCK_C 02293 02310 #define MBEDTLS_PEM_PARSE_C 02311 02326 #define MBEDTLS_PEM_WRITE_C 02327 02342 #define MBEDTLS_PK_C 02343 02357 #define MBEDTLS_PK_PARSE_C 02358 02371 #define MBEDTLS_PK_WRITE_C 02372 02384 #define MBEDTLS_PKCS5_C 02385 02399 #define MBEDTLS_PKCS11_C 02400 02415 #define MBEDTLS_PKCS12_C 02416 02435 #define MBEDTLS_PLATFORM_C 02436 02446 #define MBEDTLS_RIPEMD160_C 02447 02465 #define MBEDTLS_RSA_C 02466 02487 #define MBEDTLS_SHA1_C 02488 02504 #define MBEDTLS_SHA256_C 02505 02519 #define MBEDTLS_SHA512_C 02520 02531 #define MBEDTLS_SSL_CACHE_C 02532 02541 #define MBEDTLS_SSL_COOKIE_C 02542 02553 #define MBEDTLS_SSL_TICKET_C 02554 02567 #define MBEDTLS_SSL_CLI_C 02568 02581 #define MBEDTLS_SSL_SRV_C 02582 02597 #define MBEDTLS_SSL_TLS_C 02598 02619 #define MBEDTLS_THREADING_C 02620 02642 #define MBEDTLS_TIMING_C 02643 02653 #define MBEDTLS_VERSION_C 02654 02670 #define MBEDTLS_X509_USE_C 02671 02686 #define MBEDTLS_X509_CRT_PARSE_C 02687 02700 #define MBEDTLS_X509_CRL_PARSE_C 02701 02714 #define MBEDTLS_X509_CSR_PARSE_C 02715 02727 #define MBEDTLS_X509_CREATE_C 02728 02740 #define MBEDTLS_X509_CRT_WRITE_C 02741 02753 #define MBEDTLS_X509_CSR_WRITE_C 02754 02763 #define MBEDTLS_XTEA_C 02764 02765 /* \} name SECTION: mbed TLS modules */ 02766 02782 /* MPI / BIGNUM options */ 02783 //#define MBEDTLS_MPI_WINDOW_SIZE 6 /**< Maximum windows size used. */ 02784 //#define MBEDTLS_MPI_MAX_SIZE 1024 /**< Maximum number of bytes for usable MPIs. */ 02785 02786 /* CTR_DRBG options */ 02787 //#define MBEDTLS_CTR_DRBG_ENTROPY_LEN 48 /**< Amount of entropy used per seed by default (48 with SHA-512, 32 with SHA-256) */ 02788 //#define MBEDTLS_CTR_DRBG_RESEED_INTERVAL 10000 /**< Interval before reseed is performed by default */ 02789 //#define MBEDTLS_CTR_DRBG_MAX_INPUT 256 /**< Maximum number of additional input bytes */ 02790 //#define MBEDTLS_CTR_DRBG_MAX_REQUEST 1024 /**< Maximum number of requested bytes per call */ 02791 //#define MBEDTLS_CTR_DRBG_MAX_SEED_INPUT 384 /**< Maximum size of (re)seed buffer */ 02792 02793 /* HMAC_DRBG options */ 02794 //#define MBEDTLS_HMAC_DRBG_RESEED_INTERVAL 10000 /**< Interval before reseed is performed by default */ 02795 //#define MBEDTLS_HMAC_DRBG_MAX_INPUT 256 /**< Maximum number of additional input bytes */ 02796 //#define MBEDTLS_HMAC_DRBG_MAX_REQUEST 1024 /**< Maximum number of requested bytes per call */ 02797 //#define MBEDTLS_HMAC_DRBG_MAX_SEED_INPUT 384 /**< Maximum size of (re)seed buffer */ 02798 02799 /* ECP options */ 02800 //#define MBEDTLS_ECP_MAX_BITS 521 /**< Maximum bit size of groups */ 02801 //#define MBEDTLS_ECP_WINDOW_SIZE 6 /**< Maximum window size used */ 02802 //#define MBEDTLS_ECP_FIXED_POINT_OPTIM 1 /**< Enable fixed-point speed-up */ 02803 02804 /* Entropy options */ 02805 //#define MBEDTLS_ENTROPY_MAX_SOURCES 20 /**< Maximum number of sources supported */ 02806 //#define MBEDTLS_ENTROPY_MAX_GATHER 128 /**< Maximum amount requested from entropy sources */ 02807 //#define MBEDTLS_ENTROPY_MIN_HARDWARE 32 /**< Default minimum number of bytes required for the hardware entropy source mbedtls_hardware_poll() before entropy is released */ 02808 02809 /* Memory buffer allocator options */ 02810 //#define MBEDTLS_MEMORY_ALIGN_MULTIPLE 4 /**< Align on multiples of this value */ 02811 02812 /* Platform options */ 02813 //#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. */ 02814 //#define MBEDTLS_PLATFORM_STD_CALLOC calloc /**< Default allocator to use, can be undefined */ 02815 //#define MBEDTLS_PLATFORM_STD_FREE free /**< Default free to use, can be undefined */ 02816 //#define MBEDTLS_PLATFORM_STD_EXIT exit /**< Default exit to use, can be undefined */ 02817 //#define MBEDTLS_PLATFORM_STD_TIME time /**< Default time to use, can be undefined. MBEDTLS_HAVE_TIME must be enabled */ 02818 //#define MBEDTLS_PLATFORM_STD_FPRINTF fprintf /**< Default fprintf to use, can be undefined */ 02819 //#define MBEDTLS_PLATFORM_STD_PRINTF printf /**< Default printf to use, can be undefined */ 02820 /* Note: your snprintf must correctly zero-terminate the buffer! */ 02821 //#define MBEDTLS_PLATFORM_STD_SNPRINTF snprintf /**< Default snprintf to use, can be undefined */ 02822 //#define MBEDTLS_PLATFORM_STD_EXIT_SUCCESS 0 /**< Default exit value to use, can be undefined */ 02823 //#define MBEDTLS_PLATFORM_STD_EXIT_FAILURE 1 /**< Default exit value to use, can be undefined */ 02824 //#define MBEDTLS_PLATFORM_STD_NV_SEED_READ mbedtls_platform_std_nv_seed_read /**< Default nv_seed_read function to use, can be undefined */ 02825 //#define MBEDTLS_PLATFORM_STD_NV_SEED_WRITE mbedtls_platform_std_nv_seed_write /**< Default nv_seed_write function to use, can be undefined */ 02826 //#define MBEDTLS_PLATFORM_STD_NV_SEED_FILE "seedfile" /**< Seed file to read/write with default implementation */ 02827 02828 /* To Use Function Macros MBEDTLS_PLATFORM_C must be enabled */ 02829 /* MBEDTLS_PLATFORM_XXX_MACRO and MBEDTLS_PLATFORM_XXX_ALT cannot both be defined */ 02830 //#define MBEDTLS_PLATFORM_CALLOC_MACRO calloc /**< Default allocator macro to use, can be undefined */ 02831 //#define MBEDTLS_PLATFORM_FREE_MACRO free /**< Default free macro to use, can be undefined */ 02832 //#define MBEDTLS_PLATFORM_EXIT_MACRO exit /**< Default exit macro to use, can be undefined */ 02833 //#define MBEDTLS_PLATFORM_TIME_MACRO time /**< Default time macro to use, can be undefined. MBEDTLS_HAVE_TIME must be enabled */ 02834 //#define MBEDTLS_PLATFORM_TIME_TYPE_MACRO time_t /**< Default time macro to use, can be undefined. MBEDTLS_HAVE_TIME must be enabled */ 02835 //#define MBEDTLS_PLATFORM_FPRINTF_MACRO fprintf /**< Default fprintf macro to use, can be undefined */ 02836 //#define MBEDTLS_PLATFORM_PRINTF_MACRO printf /**< Default printf macro to use, can be undefined */ 02837 /* Note: your snprintf must correctly zero-terminate the buffer! */ 02838 //#define MBEDTLS_PLATFORM_SNPRINTF_MACRO snprintf /**< Default snprintf macro to use, can be undefined */ 02839 //#define MBEDTLS_PLATFORM_NV_SEED_READ_MACRO mbedtls_platform_std_nv_seed_read /**< Default nv_seed_read function to use, can be undefined */ 02840 //#define MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO mbedtls_platform_std_nv_seed_write /**< Default nv_seed_write function to use, can be undefined */ 02841 02842 /* SSL Cache options */ 02843 //#define MBEDTLS_SSL_CACHE_DEFAULT_TIMEOUT 86400 /**< 1 day */ 02844 //#define MBEDTLS_SSL_CACHE_DEFAULT_MAX_ENTRIES 50 /**< Maximum entries in cache */ 02845 02846 /* SSL options */ 02847 //#define MBEDTLS_SSL_MAX_CONTENT_LEN 16384 /**< Maxium fragment length in bytes, determines the size of each of the two internal I/O buffers */ 02848 //#define MBEDTLS_SSL_DEFAULT_TICKET_LIFETIME 86400 /**< Lifetime of session tickets (if enabled) */ 02849 //#define MBEDTLS_PSK_MAX_LEN 32 /**< Max size of TLS pre-shared keys, in bytes (default 256 bits) */ 02850 //#define MBEDTLS_SSL_COOKIE_TIMEOUT 60 /**< Default expiration delay of DTLS cookies, in seconds if HAVE_TIME, or in number of cookies issued */ 02851 02864 //#define MBEDTLS_SSL_CIPHERSUITES MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 02865 02866 /* X509 options */ 02867 //#define MBEDTLS_X509_MAX_INTERMEDIATE_CA 8 /**< Maximum number of intermediate CAs in a verification chain. */ 02868 //#define MBEDTLS_X509_MAX_FILE_PATH_LEN 512 /**< Maximum length of a path/filename string in bytes including the null terminator character ('\0'). */ 02869 02882 // #define MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_CERTIFICATES 02883 02899 #define MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_KEY_EXCHANGE 02900 02901 /* \} name SECTION: Customisation configuration options */ 02902 02903 /* Target and application specific configurations */ 02904 //#define YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE "target_config.h" 02905 02906 #if defined(TARGET_LIKE_MBED) && defined(YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE) 02907 #include YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE 02908 #endif 02909 02910 /* 02911 * Allow user to override any previous default. 02912 * 02913 * Use two macro names for that, as: 02914 * - with yotta the prefix YOTTA_CFG_ is forced 02915 * - without yotta is looks weird to have a YOTTA prefix. 02916 */ 02917 #if defined(YOTTA_CFG_MBEDTLS_USER_CONFIG_FILE) 02918 #include YOTTA_CFG_MBEDTLS_USER_CONFIG_FILE 02919 #elif defined(MBEDTLS_USER_CONFIG_FILE) 02920 #include MBEDTLS_USER_CONFIG_FILE 02921 #endif 02922 02923 #include "check_config.h" 02924 02925 #endif /* MBEDTLS_CONFIG_H */