00001 00010 /* 00011 * Copyright The Mbed TLS Contributors 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 00054 #ifndef MBEDTLS_CONFIG_H 00055 #define MBEDTLS_CONFIG_H 00056 00057 #if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) 00058 #define _CRT_SECURE_NO_DEPRECATE 1 00059 #endif 00060 00082 #define MBEDTLS_HAVE_ASM 00083 00110 //#define MBEDTLS_NO_UDBL_DIVISION 00111 00119 //#define MBEDTLS_HAVE_SSE2 00120 00134 #define MBEDTLS_HAVE_TIME 00135 00146 #define MBEDTLS_HAVE_TIME_DATE 00147 00170 //#define MBEDTLS_PLATFORM_MEMORY 00171 00189 //#define MBEDTLS_PLATFORM_NO_STD_FUNCTIONS 00190 00214 //#define MBEDTLS_PLATFORM_EXIT_ALT 00215 //#define MBEDTLS_PLATFORM_TIME_ALT 00216 //#define MBEDTLS_PLATFORM_FPRINTF_ALT 00217 //#define MBEDTLS_PLATFORM_PRINTF_ALT 00218 //#define MBEDTLS_PLATFORM_SNPRINTF_ALT 00219 //#define MBEDTLS_PLATFORM_NV_SEED_ALT 00220 //#define MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT 00221 00235 //#define MBEDTLS_DEPRECATED_WARNING 00236 00247 //#define MBEDTLS_DEPRECATED_REMOVED 00248 00249 /* \} name SECTION: System support */ 00250 00270 //#define MBEDTLS_TIMING_ALT 00271 00297 //#define MBEDTLS_AES_ALT 00298 //#define MBEDTLS_ARC4_ALT 00299 //#define MBEDTLS_BLOWFISH_ALT 00300 //#define MBEDTLS_CAMELLIA_ALT 00301 //#define MBEDTLS_CCM_ALT 00302 //#define MBEDTLS_CMAC_ALT 00303 //#define MBEDTLS_DES_ALT 00304 //#define MBEDTLS_DHM_ALT 00305 //#define MBEDTLS_ECJPAKE_ALT 00306 //#define MBEDTLS_GCM_ALT 00307 //#define MBEDTLS_MD2_ALT 00308 //#define MBEDTLS_MD4_ALT 00309 //#define MBEDTLS_MD5_ALT 00310 //#define MBEDTLS_RIPEMD160_ALT 00311 //#define MBEDTLS_RSA_ALT 00312 //#define MBEDTLS_SHA1_ALT 00313 //#define MBEDTLS_SHA256_ALT 00314 //#define MBEDTLS_SHA512_ALT 00315 //#define MBEDTLS_XTEA_ALT 00316 /* 00317 * When replacing the elliptic curve module, pleace consider, that it is 00318 * implemented with two .c files: 00319 * - ecp.c 00320 * - ecp_curves.c 00321 * You can replace them very much like all the other MBEDTLS__MODULE_NAME__ALT 00322 * macros as described above. The only difference is that you have to make sure 00323 * that you provide functionality for both .c files. 00324 */ 00325 //#define MBEDTLS_ECP_ALT 00326 00372 //#define MBEDTLS_MD2_PROCESS_ALT 00373 //#define MBEDTLS_MD4_PROCESS_ALT 00374 //#define MBEDTLS_MD5_PROCESS_ALT 00375 //#define MBEDTLS_RIPEMD160_PROCESS_ALT 00376 //#define MBEDTLS_SHA1_PROCESS_ALT 00377 //#define MBEDTLS_SHA256_PROCESS_ALT 00378 //#define MBEDTLS_SHA512_PROCESS_ALT 00379 //#define MBEDTLS_DES_SETKEY_ALT 00380 //#define MBEDTLS_DES_CRYPT_ECB_ALT 00381 //#define MBEDTLS_DES3_CRYPT_ECB_ALT 00382 //#define MBEDTLS_AES_SETKEY_ENC_ALT 00383 //#define MBEDTLS_AES_SETKEY_DEC_ALT 00384 //#define MBEDTLS_AES_ENCRYPT_ALT 00385 //#define MBEDTLS_AES_DECRYPT_ALT 00386 //#define MBEDTLS_ECDH_GEN_PUBLIC_ALT 00387 //#define MBEDTLS_ECDH_COMPUTE_SHARED_ALT 00388 //#define MBEDTLS_ECDSA_VERIFY_ALT 00389 //#define MBEDTLS_ECDSA_SIGN_ALT 00390 //#define MBEDTLS_ECDSA_GENKEY_ALT 00391 00432 /* Required for all the functions in this section */ 00433 //#define MBEDTLS_ECP_INTERNAL_ALT 00434 /* Support for Weierstrass curves with Jacobi representation */ 00435 //#define MBEDTLS_ECP_RANDOMIZE_JAC_ALT 00436 //#define MBEDTLS_ECP_ADD_MIXED_ALT 00437 //#define MBEDTLS_ECP_DOUBLE_JAC_ALT 00438 //#define MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT 00439 //#define MBEDTLS_ECP_NORMALIZE_JAC_ALT 00440 /* Support for curves with Montgomery arithmetic */ 00441 //#define MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT 00442 //#define MBEDTLS_ECP_RANDOMIZE_MXZ_ALT 00443 //#define MBEDTLS_ECP_NORMALIZE_MXZ_ALT 00444 00460 //#define MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN 00461 00479 //#define MBEDTLS_TEST_CONSTANT_FLOW_VALGRIND 00480 00496 //#define MBEDTLS_TEST_NULL_ENTROPY 00497 00509 //#define MBEDTLS_ENTROPY_HARDWARE_ALT 00510 00518 //#define MBEDTLS_AES_ROM_TABLES 00519 00527 //#define MBEDTLS_CAMELLIA_SMALL_MEMORY 00528 00534 #define MBEDTLS_CIPHER_MODE_CBC 00535 00541 #define MBEDTLS_CIPHER_MODE_CFB 00542 00548 #define MBEDTLS_CIPHER_MODE_CTR 00549 00581 //#define MBEDTLS_CIPHER_NULL_CIPHER 00582 00594 #define MBEDTLS_CIPHER_PADDING_PKCS7 00595 #define MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS 00596 #define MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN 00597 #define MBEDTLS_CIPHER_PADDING_ZEROS 00598 00615 //#define MBEDTLS_ENABLE_WEAK_CIPHERSUITES 00616 00628 #define MBEDTLS_REMOVE_ARC4_CIPHERSUITES 00629 00648 #define MBEDTLS_REMOVE_3DES_CIPHERSUITES 00649 00658 #define MBEDTLS_ECP_DP_SECP192R1_ENABLED 00659 #define MBEDTLS_ECP_DP_SECP224R1_ENABLED 00660 #define MBEDTLS_ECP_DP_SECP256R1_ENABLED 00661 #define MBEDTLS_ECP_DP_SECP384R1_ENABLED 00662 #define MBEDTLS_ECP_DP_SECP521R1_ENABLED 00663 #define MBEDTLS_ECP_DP_SECP192K1_ENABLED 00664 #define MBEDTLS_ECP_DP_SECP224K1_ENABLED 00665 #define MBEDTLS_ECP_DP_SECP256K1_ENABLED 00666 #define MBEDTLS_ECP_DP_BP256R1_ENABLED 00667 #define MBEDTLS_ECP_DP_BP384R1_ENABLED 00668 #define MBEDTLS_ECP_DP_BP512R1_ENABLED 00669 #define MBEDTLS_ECP_DP_CURVE25519_ENABLED 00670 00680 #define MBEDTLS_ECP_NIST_OPTIM 00681 00702 //#define MBEDTLS_ECP_NO_INTERNAL_RNG 00703 00716 #define MBEDTLS_ECDSA_DETERMINISTIC 00717 00738 #define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED 00739 00769 #define MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED 00770 00789 #define MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED 00790 00814 #define MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED 00815 00842 #define MBEDTLS_KEY_EXCHANGE_RSA_ENABLED 00843 00875 #define MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED 00876 00900 #define MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED 00901 00924 #define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED 00925 00948 #define MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED 00949 00972 #define MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED 00973 00991 //#define MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED 00992 01005 #define MBEDTLS_PK_PARSE_EC_EXTENDED 01006 01020 #define MBEDTLS_ERROR_STRERROR_DUMMY 01021 01029 #define MBEDTLS_GENPRIME 01030 01036 #define MBEDTLS_FS_IO 01037 01049 //#define MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES 01050 01060 //#define MBEDTLS_NO_PLATFORM_ENTROPY 01061 01076 //#define MBEDTLS_ENTROPY_FORCE_SHA256 01077 01104 //#define MBEDTLS_ENTROPY_NV_SEED 01105 01117 //#define MBEDTLS_MEMORY_DEBUG 01118 01129 //#define MBEDTLS_MEMORY_BACKTRACE 01130 01138 #define MBEDTLS_PK_RSA_ALT_SUPPORT 01139 01149 #define MBEDTLS_PKCS1_V15 01150 01160 #define MBEDTLS_PKCS1_V21 01161 01171 //#define MBEDTLS_RSA_NO_CRT 01172 01178 #define MBEDTLS_SELF_TEST 01179 01194 //#define MBEDTLS_SHA256_SMALLER 01195 01208 #define MBEDTLS_SSL_ALL_ALERT_MESSAGES 01209 01224 //#define MBEDTLS_SSL_DEBUG_ALL 01225 01242 #define MBEDTLS_SSL_ENCRYPT_THEN_MAC 01243 01260 #define MBEDTLS_SSL_EXTENDED_MASTER_SECRET 01261 01277 #define MBEDTLS_SSL_FALLBACK_SCSV 01278 01287 //#define MBEDTLS_SSL_HW_RECORD_ACCEL 01288 01299 #define MBEDTLS_SSL_CBC_RECORD_SPLITTING 01300 01321 #define MBEDTLS_SSL_RENEGOTIATION 01322 01331 //#define MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO 01332 01341 //#define MBEDTLS_SSL_SRV_RESPECT_CLIENT_PREFERENCE 01342 01350 #define MBEDTLS_SSL_MAX_FRAGMENT_LENGTH 01351 01362 //#define MBEDTLS_SSL_PROTO_SSL3 01363 01374 #define MBEDTLS_SSL_PROTO_TLS1 01375 01386 #define MBEDTLS_SSL_PROTO_TLS1_1 01387 01398 #define MBEDTLS_SSL_PROTO_TLS1_2 01399 01413 #define MBEDTLS_SSL_PROTO_DTLS 01414 01422 #define MBEDTLS_SSL_ALPN 01423 01437 #define MBEDTLS_SSL_DTLS_ANTI_REPLAY 01438 01455 #define MBEDTLS_SSL_DTLS_HELLO_VERIFY 01456 01471 #define MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE 01472 01482 #define MBEDTLS_SSL_DTLS_BADMAC_LIMIT 01483 01496 #define MBEDTLS_SSL_SESSION_TICKETS 01497 01506 #define MBEDTLS_SSL_EXPORT_KEYS 01507 01517 #define MBEDTLS_SSL_SERVER_NAME_INDICATION 01518 01526 #define MBEDTLS_SSL_TRUNCATED_HMAC 01527 01550 //#define MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT 01551 01561 //#define MBEDTLS_THREADING_ALT 01562 01572 #define MBEDTLS_THREADING_PTHREAD 01573 01585 #define MBEDTLS_VERSION_FEATURES 01586 01595 //#define MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3 01596 01607 //#define MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION 01608 01621 #define MBEDTLS_X509_CHECK_KEY_USAGE 01622 01634 #define MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE 01635 01644 #define MBEDTLS_X509_RSASSA_PSS_SUPPORT 01645 01666 #define MBEDTLS_ZLIB_SUPPORT 01667 /* \} name SECTION: mbed TLS feature support */ 01668 01688 #define MBEDTLS_AESNI_C 01689 01763 #define MBEDTLS_AES_C 01764 01791 #define MBEDTLS_ARC4_C 01792 01805 #define MBEDTLS_ASN1_PARSE_C 01806 01819 #define MBEDTLS_ASN1_WRITE_C 01820 01831 #define MBEDTLS_BASE64_C 01832 01848 #define MBEDTLS_BIGNUM_C 01849 01857 #define MBEDTLS_BLOWFISH_C 01858 01912 #define MBEDTLS_CAMELLIA_C 01913 01926 #define MBEDTLS_CCM_C 01927 01938 #define MBEDTLS_CERTS_C 01939 01950 #define MBEDTLS_CIPHER_C 01951 01963 //#define MBEDTLS_CMAC_C 01964 01981 #define MBEDTLS_CTR_DRBG_C 01982 01995 #define MBEDTLS_DEBUG_C 01996 02024 #define MBEDTLS_DES_C 02025 02045 #define MBEDTLS_DHM_C 02046 02061 #define MBEDTLS_ECDH_C 02062 02076 #define MBEDTLS_ECDSA_C 02077 02095 //#define MBEDTLS_ECJPAKE_C 02096 02109 #define MBEDTLS_ECP_C 02110 02123 #define MBEDTLS_ENTROPY_C 02124 02135 #define MBEDTLS_ERROR_C 02136 02149 #define MBEDTLS_GCM_C 02150 02172 #define MBEDTLS_HAVEGE_C 02173 02186 #define MBEDTLS_HMAC_DRBG_C 02187 02198 #define MBEDTLS_MD_C 02199 02215 //#define MBEDTLS_MD2_C 02216 02232 //#define MBEDTLS_MD4_C 02233 02254 #define MBEDTLS_MD5_C 02255 02270 //#define MBEDTLS_MEMORY_BUFFER_ALLOC_C 02271 02289 #define MBEDTLS_NET_C 02290 02312 #define MBEDTLS_OID_C 02313 02326 #define MBEDTLS_PADLOCK_C 02327 02344 #define MBEDTLS_PEM_PARSE_C 02345 02360 #define MBEDTLS_PEM_WRITE_C 02361 02376 #define MBEDTLS_PK_C 02377 02391 #define MBEDTLS_PK_PARSE_C 02392 02405 #define MBEDTLS_PK_WRITE_C 02406 02418 #define MBEDTLS_PKCS5_C 02419 02433 #define MBEDTLS_PKCS11_C 02434 02449 #define MBEDTLS_PKCS12_C 02450 02469 #define MBEDTLS_PLATFORM_C 02470 02480 #define MBEDTLS_RIPEMD160_C 02481 02499 #define MBEDTLS_RSA_C 02500 02521 #define MBEDTLS_SHA1_C 02522 02538 #define MBEDTLS_SHA256_C 02539 02553 #define MBEDTLS_SHA512_C 02554 02565 #define MBEDTLS_SSL_CACHE_C 02566 02575 #define MBEDTLS_SSL_COOKIE_C 02576 02587 #define MBEDTLS_SSL_TICKET_C 02588 02601 #define MBEDTLS_SSL_CLI_C 02602 02615 #define MBEDTLS_SSL_SRV_C 02616 02631 #define MBEDTLS_SSL_TLS_C 02632 02653 #define MBEDTLS_THREADING_C 02654 02676 #define MBEDTLS_TIMING_C 02677 02687 #define MBEDTLS_VERSION_C 02688 02704 #define MBEDTLS_X509_USE_C 02705 02720 #define MBEDTLS_X509_CRT_PARSE_C 02721 02734 #define MBEDTLS_X509_CRL_PARSE_C 02735 02748 #define MBEDTLS_X509_CSR_PARSE_C 02749 02761 #define MBEDTLS_X509_CREATE_C 02762 02774 #define MBEDTLS_X509_CRT_WRITE_C 02775 02787 #define MBEDTLS_X509_CSR_WRITE_C 02788 02797 #define MBEDTLS_XTEA_C 02798 02799 /* \} name SECTION: mbed TLS modules */ 02800 02816 /* MPI / BIGNUM options */ 02817 //#define MBEDTLS_MPI_WINDOW_SIZE 6 /**< Maximum windows size used. */ 02818 //#define MBEDTLS_MPI_MAX_SIZE 1024 /**< Maximum number of bytes for usable MPIs. */ 02819 02820 /* CTR_DRBG options */ 02821 //#define MBEDTLS_CTR_DRBG_ENTROPY_LEN 48 /**< Amount of entropy used per seed by default (48 with SHA-512, 32 with SHA-256) */ 02822 //#define MBEDTLS_CTR_DRBG_RESEED_INTERVAL 10000 /**< Interval before reseed is performed by default */ 02823 //#define MBEDTLS_CTR_DRBG_MAX_INPUT 256 /**< Maximum number of additional input bytes */ 02824 //#define MBEDTLS_CTR_DRBG_MAX_REQUEST 1024 /**< Maximum number of requested bytes per call */ 02825 //#define MBEDTLS_CTR_DRBG_MAX_SEED_INPUT 384 /**< Maximum size of (re)seed buffer */ 02826 02827 /* HMAC_DRBG options */ 02828 //#define MBEDTLS_HMAC_DRBG_RESEED_INTERVAL 10000 /**< Interval before reseed is performed by default */ 02829 //#define MBEDTLS_HMAC_DRBG_MAX_INPUT 256 /**< Maximum number of additional input bytes */ 02830 //#define MBEDTLS_HMAC_DRBG_MAX_REQUEST 1024 /**< Maximum number of requested bytes per call */ 02831 //#define MBEDTLS_HMAC_DRBG_MAX_SEED_INPUT 384 /**< Maximum size of (re)seed buffer */ 02832 02833 /* ECP options */ 02834 //#define MBEDTLS_ECP_MAX_BITS 521 /**< Maximum bit size of groups */ 02835 //#define MBEDTLS_ECP_WINDOW_SIZE 6 /**< Maximum window size used */ 02836 //#define MBEDTLS_ECP_FIXED_POINT_OPTIM 1 /**< Enable fixed-point speed-up */ 02837 02838 /* Entropy options */ 02839 //#define MBEDTLS_ENTROPY_MAX_SOURCES 20 /**< Maximum number of sources supported */ 02840 //#define MBEDTLS_ENTROPY_MAX_GATHER 128 /**< Maximum amount requested from entropy sources */ 02841 //#define MBEDTLS_ENTROPY_MIN_HARDWARE 32 /**< Default minimum number of bytes required for the hardware entropy source mbedtls_hardware_poll() before entropy is released */ 02842 02843 /* Memory buffer allocator options */ 02844 //#define MBEDTLS_MEMORY_ALIGN_MULTIPLE 4 /**< Align on multiples of this value */ 02845 02846 /* Platform options */ 02847 //#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. */ 02848 //#define MBEDTLS_PLATFORM_STD_CALLOC calloc /**< Default allocator to use, can be undefined */ 02849 //#define MBEDTLS_PLATFORM_STD_FREE free /**< Default free to use, can be undefined */ 02850 //#define MBEDTLS_PLATFORM_STD_EXIT exit /**< Default exit to use, can be undefined */ 02851 //#define MBEDTLS_PLATFORM_STD_TIME time /**< Default time to use, can be undefined. MBEDTLS_HAVE_TIME must be enabled */ 02852 //#define MBEDTLS_PLATFORM_STD_FPRINTF fprintf /**< Default fprintf to use, can be undefined */ 02853 //#define MBEDTLS_PLATFORM_STD_PRINTF printf /**< Default printf to use, can be undefined */ 02854 /* Note: your snprintf must correctly zero-terminate the buffer! */ 02855 //#define MBEDTLS_PLATFORM_STD_SNPRINTF snprintf /**< Default snprintf to use, can be undefined */ 02856 //#define MBEDTLS_PLATFORM_STD_EXIT_SUCCESS 0 /**< Default exit value to use, can be undefined */ 02857 //#define MBEDTLS_PLATFORM_STD_EXIT_FAILURE 1 /**< Default exit value to use, can be undefined */ 02858 //#define MBEDTLS_PLATFORM_STD_NV_SEED_READ mbedtls_platform_std_nv_seed_read /**< Default nv_seed_read function to use, can be undefined */ 02859 //#define MBEDTLS_PLATFORM_STD_NV_SEED_WRITE mbedtls_platform_std_nv_seed_write /**< Default nv_seed_write function to use, can be undefined */ 02860 //#define MBEDTLS_PLATFORM_STD_NV_SEED_FILE "seedfile" /**< Seed file to read/write with default implementation */ 02861 02862 /* To Use Function Macros MBEDTLS_PLATFORM_C must be enabled */ 02863 /* MBEDTLS_PLATFORM_XXX_MACRO and MBEDTLS_PLATFORM_XXX_ALT cannot both be defined */ 02864 //#define MBEDTLS_PLATFORM_CALLOC_MACRO calloc /**< Default allocator macro to use, can be undefined */ 02865 //#define MBEDTLS_PLATFORM_FREE_MACRO free /**< Default free macro to use, can be undefined */ 02866 //#define MBEDTLS_PLATFORM_EXIT_MACRO exit /**< Default exit macro to use, can be undefined */ 02867 //#define MBEDTLS_PLATFORM_TIME_MACRO time /**< Default time macro to use, can be undefined. MBEDTLS_HAVE_TIME must be enabled */ 02868 //#define MBEDTLS_PLATFORM_TIME_TYPE_MACRO time_t /**< Default time macro to use, can be undefined. MBEDTLS_HAVE_TIME must be enabled */ 02869 //#define MBEDTLS_PLATFORM_FPRINTF_MACRO fprintf /**< Default fprintf macro to use, can be undefined */ 02870 //#define MBEDTLS_PLATFORM_PRINTF_MACRO printf /**< Default printf macro to use, can be undefined */ 02871 /* Note: your snprintf must correctly zero-terminate the buffer! */ 02872 //#define MBEDTLS_PLATFORM_SNPRINTF_MACRO snprintf /**< Default snprintf macro to use, can be undefined */ 02873 //#define MBEDTLS_PLATFORM_NV_SEED_READ_MACRO mbedtls_platform_std_nv_seed_read /**< Default nv_seed_read function to use, can be undefined */ 02874 //#define MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO mbedtls_platform_std_nv_seed_write /**< Default nv_seed_write function to use, can be undefined */ 02875 02876 /* SSL Cache options */ 02877 //#define MBEDTLS_SSL_CACHE_DEFAULT_TIMEOUT 86400 /**< 1 day */ 02878 //#define MBEDTLS_SSL_CACHE_DEFAULT_MAX_ENTRIES 50 /**< Maximum entries in cache */ 02879 02880 /* SSL options */ 02881 //#define MBEDTLS_SSL_MAX_CONTENT_LEN 16384 /**< Maxium fragment length in bytes, determines the size of each of the two internal I/O buffers */ 02882 //#define MBEDTLS_SSL_DEFAULT_TICKET_LIFETIME 86400 /**< Lifetime of session tickets (if enabled) */ 02883 //#define MBEDTLS_PSK_MAX_LEN 32 /**< Max size of TLS pre-shared keys, in bytes (default 256 bits) */ 02884 //#define MBEDTLS_SSL_COOKIE_TIMEOUT 60 /**< Default expiration delay of DTLS cookies, in seconds if HAVE_TIME, or in number of cookies issued */ 02885 02898 //#define MBEDTLS_SSL_CIPHERSUITES MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 02899 02900 /* X509 options */ 02901 //#define MBEDTLS_X509_MAX_INTERMEDIATE_CA 8 /**< Maximum number of intermediate CAs in a verification chain. */ 02902 //#define MBEDTLS_X509_MAX_FILE_PATH_LEN 512 /**< Maximum length of a path/filename string in bytes including the null terminator character ('\0'). */ 02903 02916 // #define MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_CERTIFICATES 02917 02933 #define MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_KEY_EXCHANGE 02934 02935 /* \} name SECTION: Customisation configuration options */ 02936 02937 /* Target and application specific configurations */ 02938 //#define YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE "target_config.h" 02939 02940 #if defined(TARGET_LIKE_MBED) && defined(YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE) 02941 #include YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE 02942 #endif 02943 02944 /* 02945 * Allow user to override any previous default. 02946 * 02947 * Use two macro names for that, as: 02948 * - with yotta the prefix YOTTA_CFG_ is forced 02949 * - without yotta is looks weird to have a YOTTA prefix. 02950 */ 02951 #if defined(YOTTA_CFG_MBEDTLS_USER_CONFIG_FILE) 02952 #include YOTTA_CFG_MBEDTLS_USER_CONFIG_FILE 02953 #elif defined(MBEDTLS_USER_CONFIG_FILE) 02954 #include MBEDTLS_USER_CONFIG_FILE 02955 #endif 02956 02957 #include "check_config.h" 02958 02959 #endif /* MBEDTLS_CONFIG_H */