|
|
|
@ -1,14 +1,14 @@
|
|
|
|
|
/**
|
|
|
|
|
* \file config.h
|
|
|
|
|
#### v2.6.1
|
|
|
|
|
*
|
|
|
|
|
* \brief Configuration options (set of defines)
|
|
|
|
|
*
|
|
|
|
|
* This set of compile-time options may be used to enable
|
|
|
|
|
* or disable features selectively, and reduce the global
|
|
|
|
|
* memory footprint.
|
|
|
|
|
*
|
|
|
|
|
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
|
|
|
|
*/
|
|
|
|
|
/*
|
|
|
|
|
* Copyright (C) 2006-2018, ARM Limited, All Rights Reserved
|
|
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
*
|
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
|
|
@ -48,10 +48,14 @@
|
|
|
|
|
* Requires support for asm() in compiler.
|
|
|
|
|
*
|
|
|
|
|
* Used in:
|
|
|
|
|
* library/aria.c
|
|
|
|
|
* library/timing.c
|
|
|
|
|
* library/padlock.c
|
|
|
|
|
* include/mbedtls/bn_mul.h
|
|
|
|
|
*
|
|
|
|
|
* Required by:
|
|
|
|
|
* MBEDTLS_AESNI_C
|
|
|
|
|
* MBEDTLS_PADLOCK_C
|
|
|
|
|
*
|
|
|
|
|
* Comment to disable the use of assembly code.
|
|
|
|
|
*/
|
|
|
|
|
#define MBEDTLS_HAVE_ASM
|
|
|
|
@ -84,6 +88,28 @@
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_NO_UDBL_DIVISION
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_NO_64BIT_MULTIPLICATION
|
|
|
|
|
*
|
|
|
|
|
* The platform lacks support for 32x32 -> 64-bit multiplication.
|
|
|
|
|
*
|
|
|
|
|
* Used in:
|
|
|
|
|
* library/poly1305.c
|
|
|
|
|
*
|
|
|
|
|
* Some parts of the library may use multiplication of two unsigned 32-bit
|
|
|
|
|
* operands with a 64-bit result in order to speed up computations. On some
|
|
|
|
|
* platforms, this is not available in hardware and has to be implemented in
|
|
|
|
|
* software, usually in a library provided by the toolchain.
|
|
|
|
|
*
|
|
|
|
|
* Sometimes it is not desirable to have to link to that library. This option
|
|
|
|
|
* removes the dependency of that library on platforms that lack a hardware
|
|
|
|
|
* 64-bit multiplier by embedding a software implementation in Mbed TLS.
|
|
|
|
|
*
|
|
|
|
|
* Note that depending on the compiler, this may decrease performance compared
|
|
|
|
|
* to using the library function provided by the toolchain.
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_NO_64BIT_MULTIPLICATION
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_HAVE_SSE2
|
|
|
|
|
*
|
|
|
|
@ -262,20 +288,38 @@
|
|
|
|
|
*
|
|
|
|
|
* Uncomment a macro to enable alternate implementation of the corresponding
|
|
|
|
|
* module.
|
|
|
|
|
*
|
|
|
|
|
* \warning MD2, MD4, MD5, ARC4, DES and SHA-1 are considered weak and their
|
|
|
|
|
* use constitutes a security risk. If possible, we recommend
|
|
|
|
|
* avoiding dependencies on them, and considering stronger message
|
|
|
|
|
* digests and ciphers instead.
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_AES_ALT
|
|
|
|
|
//#define MBEDTLS_ARC4_ALT
|
|
|
|
|
//#define MBEDTLS_ARIA_ALT
|
|
|
|
|
//#define MBEDTLS_BLOWFISH_ALT
|
|
|
|
|
//#define MBEDTLS_CAMELLIA_ALT
|
|
|
|
|
//#define MBEDTLS_CCM_ALT
|
|
|
|
|
//#define MBEDTLS_CHACHA20_ALT
|
|
|
|
|
//#define MBEDTLS_CHACHAPOLY_ALT
|
|
|
|
|
//#define MBEDTLS_CMAC_ALT
|
|
|
|
|
//#define MBEDTLS_DES_ALT
|
|
|
|
|
//#define MBEDTLS_XTEA_ALT
|
|
|
|
|
//#define MBEDTLS_DHM_ALT
|
|
|
|
|
//#define MBEDTLS_ECJPAKE_ALT
|
|
|
|
|
//#define MBEDTLS_GCM_ALT
|
|
|
|
|
//#define MBEDTLS_NIST_KW_ALT
|
|
|
|
|
//#define MBEDTLS_MD2_ALT
|
|
|
|
|
//#define MBEDTLS_MD4_ALT
|
|
|
|
|
//#define MBEDTLS_MD5_ALT
|
|
|
|
|
//#define MBEDTLS_POLY1305_ALT
|
|
|
|
|
//#define MBEDTLS_RIPEMD160_ALT
|
|
|
|
|
//#define MBEDTLS_RSA_ALT
|
|
|
|
|
//#define MBEDTLS_SHA1_ALT
|
|
|
|
|
//#define MBEDTLS_SHA256_ALT
|
|
|
|
|
//#define MBEDTLS_SHA512_ALT
|
|
|
|
|
//#define MBEDTLS_XTEA_ALT
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* When replacing the elliptic curve module, pleace consider, that it is
|
|
|
|
|
* implemented with two .c files:
|
|
|
|
@ -315,6 +359,12 @@
|
|
|
|
|
*
|
|
|
|
|
* Uncomment a macro to enable alternate implementation of the corresponding
|
|
|
|
|
* function.
|
|
|
|
|
*
|
|
|
|
|
* \warning MD2, MD4, MD5, DES and SHA-1 are considered weak and their use
|
|
|
|
|
* constitutes a security risk. If possible, we recommend avoiding
|
|
|
|
|
* dependencies on them, and considering stronger message digests
|
|
|
|
|
* and ciphers instead.
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_MD2_PROCESS_ALT
|
|
|
|
|
//#define MBEDTLS_MD4_PROCESS_ALT
|
|
|
|
@ -330,6 +380,11 @@
|
|
|
|
|
//#define MBEDTLS_AES_SETKEY_DEC_ALT
|
|
|
|
|
//#define MBEDTLS_AES_ENCRYPT_ALT
|
|
|
|
|
//#define MBEDTLS_AES_DECRYPT_ALT
|
|
|
|
|
//#define MBEDTLS_ECDH_GEN_PUBLIC_ALT
|
|
|
|
|
//#define MBEDTLS_ECDH_COMPUTE_SHARED_ALT
|
|
|
|
|
//#define MBEDTLS_ECDSA_VERIFY_ALT
|
|
|
|
|
//#define MBEDTLS_ECDSA_SIGN_ALT
|
|
|
|
|
//#define MBEDTLS_ECDSA_GENKEY_ALT
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_ECP_INTERNAL_ALT
|
|
|
|
@ -417,12 +472,45 @@
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_AES_ROM_TABLES
|
|
|
|
|
*
|
|
|
|
|
* Store the AES tables in ROM.
|
|
|
|
|
* Use precomputed AES tables stored in ROM.
|
|
|
|
|
*
|
|
|
|
|
* Uncomment this macro to use precomputed AES tables stored in ROM.
|
|
|
|
|
* Comment this macro to generate AES tables in RAM at runtime.
|
|
|
|
|
*
|
|
|
|
|
* Tradeoff: Using precomputed ROM tables reduces RAM usage by ~8kb
|
|
|
|
|
* (or ~2kb if \c MBEDTLS_AES_FEWER_TABLES is used) and reduces the
|
|
|
|
|
* initialization time before the first AES operation can be performed.
|
|
|
|
|
* It comes at the cost of additional ~8kb ROM use (resp. ~2kb if \c
|
|
|
|
|
* MBEDTLS_AES_FEWER_TABLES below is used), and potentially degraded
|
|
|
|
|
* performance if ROM access is slower than RAM access.
|
|
|
|
|
*
|
|
|
|
|
* This option is independent of \c MBEDTLS_AES_FEWER_TABLES.
|
|
|
|
|
*
|
|
|
|
|
* Uncomment this macro to store the AES tables in ROM.
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_AES_ROM_TABLES
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_AES_FEWER_TABLES
|
|
|
|
|
*
|
|
|
|
|
* Use less ROM/RAM for AES tables.
|
|
|
|
|
*
|
|
|
|
|
* Uncommenting this macro omits 75% of the AES tables from
|
|
|
|
|
* ROM / RAM (depending on the value of \c MBEDTLS_AES_ROM_TABLES)
|
|
|
|
|
* by computing their values on the fly during operations
|
|
|
|
|
* (the tables are entry-wise rotations of one another).
|
|
|
|
|
*
|
|
|
|
|
* Tradeoff: Uncommenting this reduces the RAM / ROM footprint
|
|
|
|
|
* by ~6kb but at the cost of more arithmetic operations during
|
|
|
|
|
* runtime. Specifically, one has to compare 4 accesses within
|
|
|
|
|
* different tables to 4 accesses with additional arithmetic
|
|
|
|
|
* operations within the same table. The performance gain/loss
|
|
|
|
|
* depends on the system and memory details.
|
|
|
|
|
*
|
|
|
|
|
* This option is independent of \c MBEDTLS_AES_ROM_TABLES.
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_AES_FEWER_TABLES
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_CAMELLIA_SMALL_MEMORY
|
|
|
|
|
*
|
|
|
|
@ -453,6 +541,20 @@
|
|
|
|
|
*/
|
|
|
|
|
#define MBEDTLS_CIPHER_MODE_CTR
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_CIPHER_MODE_OFB
|
|
|
|
|
*
|
|
|
|
|
* Enable Output Feedback mode (OFB) for symmetric ciphers.
|
|
|
|
|
*/
|
|
|
|
|
#define MBEDTLS_CIPHER_MODE_OFB
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_CIPHER_MODE_XTS
|
|
|
|
|
*
|
|
|
|
|
* Enable Xor-encrypt-xor with ciphertext stealing mode (XTS) for AES.
|
|
|
|
|
*/
|
|
|
|
|
#define MBEDTLS_CIPHER_MODE_XTS
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_CIPHER_NULL_CIPHER
|
|
|
|
|
*
|
|
|
|
@ -514,6 +616,9 @@
|
|
|
|
|
* MBEDTLS_TLS_DHE_RSA_WITH_DES_CBC_SHA
|
|
|
|
|
*
|
|
|
|
|
* Uncomment this macro to enable weak ciphersuites
|
|
|
|
|
*
|
|
|
|
|
* \warning DES is considered a weak cipher and its use constitutes a
|
|
|
|
|
* security risk. We recommend considering stronger ciphers instead.
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_ENABLE_WEAK_CIPHERSUITES
|
|
|
|
|
|
|
|
|
@ -550,6 +655,7 @@
|
|
|
|
|
#define MBEDTLS_ECP_DP_BP384R1_ENABLED
|
|
|
|
|
#define MBEDTLS_ECP_DP_BP512R1_ENABLED
|
|
|
|
|
#define MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
|
|
|
#define MBEDTLS_ECP_DP_CURVE448_ENABLED
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_ECP_NIST_OPTIM
|
|
|
|
@ -619,6 +725,13 @@
|
|
|
|
|
* MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
|
|
|
|
|
* MBEDTLS_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA
|
|
|
|
|
* MBEDTLS_TLS_DHE_PSK_WITH_RC4_128_SHA
|
|
|
|
|
*
|
|
|
|
|
* \warning Using DHE constitutes a security risk as it
|
|
|
|
|
* is not possible to validate custom DH parameters.
|
|
|
|
|
* If possible, it is recommended users should consider
|
|
|
|
|
* preferring other methods of key exchange.
|
|
|
|
|
* See dhm.h for more details.
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
#define MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED
|
|
|
|
|
|
|
|
|
@ -640,7 +753,7 @@
|
|
|
|
|
* MBEDTLS_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA
|
|
|
|
|
* MBEDTLS_TLS_ECDHE_PSK_WITH_RC4_128_SHA
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
|
|
|
|
|
#define MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
|
|
|
|
@ -718,6 +831,13 @@
|
|
|
|
|
* MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
|
|
|
|
|
* MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
|
|
|
|
|
* MBEDTLS_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
|
|
|
|
|
*
|
|
|
|
|
* \warning Using DHE constitutes a security risk as it
|
|
|
|
|
* is not possible to validate custom DH parameters.
|
|
|
|
|
* If possible, it is recommended users should consider
|
|
|
|
|
* preferring other methods of key exchange.
|
|
|
|
|
* See dhm.h for more details.
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
#define MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED
|
|
|
|
|
|
|
|
|
@ -744,7 +864,7 @@
|
|
|
|
|
* MBEDTLS_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
|
|
|
|
|
* MBEDTLS_TLS_ECDHE_RSA_WITH_RC4_128_SHA
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
|
|
|
|
|
#define MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
|
|
|
|
@ -768,7 +888,7 @@
|
|
|
|
|
* MBEDTLS_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
|
|
|
|
|
* MBEDTLS_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
|
|
|
|
|
#define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED
|
|
|
|
@ -792,7 +912,7 @@
|
|
|
|
|
* MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
|
|
|
|
|
* MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED
|
|
|
|
|
#define MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
|
|
|
|
@ -816,7 +936,7 @@
|
|
|
|
|
* MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256
|
|
|
|
|
* MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
|
|
|
|
|
#define MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED
|
|
|
|
@ -1009,7 +1129,8 @@
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_RSA_NO_CRT
|
|
|
|
|
*
|
|
|
|
|
* Do not use the Chinese Remainder Theorem for the RSA private operation.
|
|
|
|
|
* Do not use the Chinese Remainder Theorem
|
|
|
|
|
* for the RSA private operation.
|
|
|
|
|
*
|
|
|
|
|
* Uncomment this macro to disable the use of CRT in RSA.
|
|
|
|
|
*
|
|
|
|
@ -1053,6 +1174,17 @@
|
|
|
|
|
*/
|
|
|
|
|
#define MBEDTLS_SSL_ALL_ALERT_MESSAGES
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_SSL_ASYNC_PRIVATE
|
|
|
|
|
*
|
|
|
|
|
* Enable asynchronous external private key operations in SSL. This allows
|
|
|
|
|
* you to configure an SSL connection to call an external cryptographic
|
|
|
|
|
* module to perform private key operations instead of performing the
|
|
|
|
|
* operation inside the library.
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_SSL_ASYNC_PRIVATE
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_SSL_DEBUG_ALL
|
|
|
|
|
*
|
|
|
|
@ -1156,8 +1288,15 @@
|
|
|
|
|
* misuse/misunderstand.
|
|
|
|
|
*
|
|
|
|
|
* Comment this to disable support for renegotiation.
|
|
|
|
|
*
|
|
|
|
|
* \note Even if this option is disabled, both client and server are aware
|
|
|
|
|
* of the Renegotiation Indication Extension (RFC 5746) used to
|
|
|
|
|
* prevent the SSL renegotiation attack (see RFC 5746 Sect. 1).
|
|
|
|
|
* (See \c mbedtls_ssl_conf_legacy_renegotiation for the
|
|
|
|
|
* configuration of this extension).
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_SSL_RENEGOTIATION
|
|
|
|
|
#define MBEDTLS_SSL_RENEGOTIATION
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO
|
|
|
|
@ -1198,7 +1337,7 @@
|
|
|
|
|
*
|
|
|
|
|
* Comment this macro to disable support for SSL 3.0
|
|
|
|
|
*/
|
|
|
|
|
#define MBEDTLS_SSL_PROTO_SSL3
|
|
|
|
|
//#define MBEDTLS_SSL_PROTO_SSL3
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_SSL_PROTO_TLS1
|
|
|
|
@ -1364,6 +1503,30 @@
|
|
|
|
|
*/
|
|
|
|
|
#define MBEDTLS_SSL_TRUNCATED_HMAC
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT
|
|
|
|
|
*
|
|
|
|
|
* Fallback to old (pre-2.7), non-conforming implementation of the truncated
|
|
|
|
|
* HMAC extension which also truncates the HMAC key. Note that this option is
|
|
|
|
|
* only meant for a transitory upgrade period and is likely to be removed in
|
|
|
|
|
* a future version of the library.
|
|
|
|
|
*
|
|
|
|
|
* \warning The old implementation is non-compliant and has a security weakness
|
|
|
|
|
* (2^80 brute force attack on the HMAC key used for a single,
|
|
|
|
|
* uninterrupted connection). This should only be enabled temporarily
|
|
|
|
|
* when (1) the use of truncated HMAC is essential in order to save
|
|
|
|
|
* bandwidth, and (2) the peer is an Mbed TLS stack that doesn't use
|
|
|
|
|
* the fixed implementation yet (pre-2.7).
|
|
|
|
|
*
|
|
|
|
|
* \deprecated This option is deprecated and will likely be removed in a
|
|
|
|
|
* future version of Mbed TLS.
|
|
|
|
|
*
|
|
|
|
|
* Uncomment to fallback to old, non-compliant truncated HMAC implementation.
|
|
|
|
|
*
|
|
|
|
|
* Requires: MBEDTLS_SSL_TRUNCATED_HMAC
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_THREADING_ALT
|
|
|
|
|
*
|
|
|
|
@ -1470,6 +1633,9 @@
|
|
|
|
|
*
|
|
|
|
|
* \note Currently compression can't be used with DTLS.
|
|
|
|
|
*
|
|
|
|
|
* \deprecated This feature is deprecated and will be removed
|
|
|
|
|
* in the next major revision of the library.
|
|
|
|
|
*
|
|
|
|
|
* Used in: library/ssl_tls.c
|
|
|
|
|
* library/ssl_cli.c
|
|
|
|
|
* library/ssl_srv.c
|
|
|
|
@ -1508,7 +1674,7 @@
|
|
|
|
|
* Enable the AES block cipher.
|
|
|
|
|
*
|
|
|
|
|
* Module: library/aes.c
|
|
|
|
|
* Caller: library/ssl_tls.c
|
|
|
|
|
* Caller: library/cipher.c
|
|
|
|
|
* library/pem.c
|
|
|
|
|
* library/ctr_drbg.c
|
|
|
|
|
*
|
|
|
|
@ -1583,7 +1749,7 @@
|
|
|
|
|
* Enable the ARCFOUR stream cipher.
|
|
|
|
|
*
|
|
|
|
|
* Module: library/arc4.c
|
|
|
|
|
* Caller: library/ssl_tls.c
|
|
|
|
|
* Caller: library/cipher.c
|
|
|
|
|
*
|
|
|
|
|
* This module enables the following ciphersuites (if other requisites are
|
|
|
|
|
* enabled as well):
|
|
|
|
@ -1597,6 +1763,11 @@
|
|
|
|
|
* MBEDTLS_TLS_RSA_WITH_RC4_128_MD5
|
|
|
|
|
* MBEDTLS_TLS_RSA_PSK_WITH_RC4_128_SHA
|
|
|
|
|
* MBEDTLS_TLS_PSK_WITH_RC4_128_SHA
|
|
|
|
|
*
|
|
|
|
|
* \warning ARC4 is considered a weak cipher and its use constitutes a
|
|
|
|
|
* security risk. If possible, we recommend avoidng dependencies on
|
|
|
|
|
* it, and considering stronger ciphers instead.
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
#define MBEDTLS_ARC4_C
|
|
|
|
|
|
|
|
|
@ -1626,7 +1797,7 @@
|
|
|
|
|
* library/x509write_crt.c
|
|
|
|
|
* library/x509write_csr.c
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_ASN1_WRITE_C
|
|
|
|
|
#define MBEDTLS_ASN1_WRITE_C
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_BASE64_C
|
|
|
|
@ -1650,6 +1821,7 @@
|
|
|
|
|
* library/ecp.c
|
|
|
|
|
* library/ecdsa.c
|
|
|
|
|
* library/rsa.c
|
|
|
|
|
* library/rsa_internal.c
|
|
|
|
|
* library/ssl_tls.c
|
|
|
|
|
*
|
|
|
|
|
* This module is required for RSA, DHM and ECC (ECDH, ECDSA) support.
|
|
|
|
@ -1671,7 +1843,7 @@
|
|
|
|
|
* Enable the Camellia block cipher.
|
|
|
|
|
*
|
|
|
|
|
* Module: library/camellia.c
|
|
|
|
|
* Caller: library/ssl_tls.c
|
|
|
|
|
* Caller: library/cipher.c
|
|
|
|
|
*
|
|
|
|
|
* This module enables the following ciphersuites (if other requisites are
|
|
|
|
|
* enabled as well):
|
|
|
|
@ -1718,7 +1890,59 @@
|
|
|
|
|
* MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256
|
|
|
|
|
* MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_CAMELLIA_C
|
|
|
|
|
#define MBEDTLS_CAMELLIA_C
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_ARIA_C
|
|
|
|
|
*
|
|
|
|
|
* Enable the ARIA block cipher.
|
|
|
|
|
*
|
|
|
|
|
* Module: library/aria.c
|
|
|
|
|
* Caller: library/cipher.c
|
|
|
|
|
*
|
|
|
|
|
* This module enables the following ciphersuites (if other requisites are
|
|
|
|
|
* enabled as well):
|
|
|
|
|
*
|
|
|
|
|
* MBEDTLS_TLS_RSA_WITH_ARIA_128_CBC_SHA256
|
|
|
|
|
* MBEDTLS_TLS_RSA_WITH_ARIA_256_CBC_SHA384
|
|
|
|
|
* MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256
|
|
|
|
|
* MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384
|
|
|
|
|
* MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256
|
|
|
|
|
* MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384
|
|
|
|
|
* MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256
|
|
|
|
|
* MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384
|
|
|
|
|
* MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256
|
|
|
|
|
* MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384
|
|
|
|
|
* MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256
|
|
|
|
|
* MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384
|
|
|
|
|
* MBEDTLS_TLS_RSA_WITH_ARIA_128_GCM_SHA256
|
|
|
|
|
* MBEDTLS_TLS_RSA_WITH_ARIA_256_GCM_SHA384
|
|
|
|
|
* MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256
|
|
|
|
|
* MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384
|
|
|
|
|
* MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256
|
|
|
|
|
* MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384
|
|
|
|
|
* MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256
|
|
|
|
|
* MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384
|
|
|
|
|
* MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256
|
|
|
|
|
* MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384
|
|
|
|
|
* MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256
|
|
|
|
|
* MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384
|
|
|
|
|
* MBEDTLS_TLS_PSK_WITH_ARIA_128_CBC_SHA256
|
|
|
|
|
* MBEDTLS_TLS_PSK_WITH_ARIA_256_CBC_SHA384
|
|
|
|
|
* MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256
|
|
|
|
|
* MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384
|
|
|
|
|
* MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256
|
|
|
|
|
* MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384
|
|
|
|
|
* MBEDTLS_TLS_PSK_WITH_ARIA_128_GCM_SHA256
|
|
|
|
|
* MBEDTLS_TLS_PSK_WITH_ARIA_256_GCM_SHA384
|
|
|
|
|
* MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256
|
|
|
|
|
* MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384
|
|
|
|
|
* MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256
|
|
|
|
|
* MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384
|
|
|
|
|
* MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256
|
|
|
|
|
* MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_ARIA_C
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_CCM_C
|
|
|
|
@ -1732,7 +1956,7 @@
|
|
|
|
|
* This module enables the AES-CCM ciphersuites, if other requisites are
|
|
|
|
|
* enabled as well.
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_CCM_C
|
|
|
|
|
#define MBEDTLS_CCM_C
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_CERTS_C
|
|
|
|
@ -1746,6 +1970,26 @@
|
|
|
|
|
*/
|
|
|
|
|
#define MBEDTLS_CERTS_C
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_CHACHA20_C
|
|
|
|
|
*
|
|
|
|
|
* Enable the ChaCha20 stream cipher.
|
|
|
|
|
*
|
|
|
|
|
* Module: library/chacha20.c
|
|
|
|
|
*/
|
|
|
|
|
#define MBEDTLS_CHACHA20_C
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_CHACHAPOLY_C
|
|
|
|
|
*
|
|
|
|
|
* Enable the ChaCha20-Poly1305 AEAD algorithm.
|
|
|
|
|
*
|
|
|
|
|
* Module: library/chachapoly.c
|
|
|
|
|
*
|
|
|
|
|
* This module requires: MBEDTLS_CHACHA20_C, MBEDTLS_POLY1305_C
|
|
|
|
|
*/
|
|
|
|
|
#define MBEDTLS_CHACHAPOLY_C
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_CIPHER_C
|
|
|
|
|
*
|
|
|
|
@ -1806,7 +2050,7 @@
|
|
|
|
|
*
|
|
|
|
|
* Module: library/des.c
|
|
|
|
|
* Caller: library/pem.c
|
|
|
|
|
* library/ssl_tls.c
|
|
|
|
|
* library/cipher.c
|
|
|
|
|
*
|
|
|
|
|
* This module enables the following ciphersuites (if other requisites are
|
|
|
|
|
* enabled as well):
|
|
|
|
@ -1822,6 +2066,9 @@
|
|
|
|
|
* MBEDTLS_TLS_PSK_WITH_3DES_EDE_CBC_SHA
|
|
|
|
|
*
|
|
|
|
|
* PEM_PARSE uses DES/3DES for decrypting encrypted keys.
|
|
|
|
|
*
|
|
|
|
|
* \warning DES is considered a weak cipher and its use constitutes a
|
|
|
|
|
* security risk. We recommend considering stronger ciphers instead.
|
|
|
|
|
*/
|
|
|
|
|
#define MBEDTLS_DES_C
|
|
|
|
|
|
|
|
|
@ -1836,6 +2083,13 @@
|
|
|
|
|
*
|
|
|
|
|
* This module is used by the following key exchanges:
|
|
|
|
|
* DHE-RSA, DHE-PSK
|
|
|
|
|
*
|
|
|
|
|
* \warning Using DHE constitutes a security risk as it
|
|
|
|
|
* is not possible to validate custom DH parameters.
|
|
|
|
|
* If possible, it is recommended users should consider
|
|
|
|
|
* preferring other methods of key exchange.
|
|
|
|
|
* See dhm.h for more details.
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
#define MBEDTLS_DHM_C
|
|
|
|
|
|
|
|
|
@ -1853,7 +2107,7 @@
|
|
|
|
|
*
|
|
|
|
|
* Requires: MBEDTLS_ECP_C
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_ECDH_C
|
|
|
|
|
#define MBEDTLS_ECDH_C
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_ECDSA_C
|
|
|
|
@ -1868,7 +2122,7 @@
|
|
|
|
|
*
|
|
|
|
|
* Requires: MBEDTLS_ECP_C, MBEDTLS_ASN1_WRITE_C, MBEDTLS_ASN1_PARSE_C
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_ECDSA_C
|
|
|
|
|
#define MBEDTLS_ECDSA_C
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_ECJPAKE_C
|
|
|
|
@ -1901,7 +2155,7 @@
|
|
|
|
|
*
|
|
|
|
|
* Requires: MBEDTLS_BIGNUM_C and at least one MBEDTLS_ECP_DP_XXX_ENABLED
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_ECP_C
|
|
|
|
|
#define MBEDTLS_ECP_C
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_ENTROPY_C
|
|
|
|
@ -1941,7 +2195,7 @@
|
|
|
|
|
* This module enables the AES-GCM and CAMELLIA-GCM ciphersuites, if other
|
|
|
|
|
* requisites are enabled as well.
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_GCM_C
|
|
|
|
|
#define MBEDTLS_GCM_C
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_HAVEGE_C
|
|
|
|
@ -1966,6 +2220,21 @@
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_HAVEGE_C
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_HKDF_C
|
|
|
|
|
*
|
|
|
|
|
* Enable the HKDF algorithm (RFC 5869).
|
|
|
|
|
*
|
|
|
|
|
* Module: library/hkdf.c
|
|
|
|
|
* Caller:
|
|
|
|
|
*
|
|
|
|
|
* Requires: MBEDTLS_MD_C
|
|
|
|
|
*
|
|
|
|
|
* This module adds support for the Hashed Message Authentication Code
|
|
|
|
|
* (HMAC)-based key derivation function (HKDF).
|
|
|
|
|
*/
|
|
|
|
|
#define MBEDTLS_HKDF_C
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_HMAC_DRBG_C
|
|
|
|
|
*
|
|
|
|
@ -1980,6 +2249,19 @@
|
|
|
|
|
*/
|
|
|
|
|
#define MBEDTLS_HMAC_DRBG_C
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_NIST_KW_C
|
|
|
|
|
*
|
|
|
|
|
* Enable the Key Wrapping mode for 128-bit block ciphers,
|
|
|
|
|
* as defined in NIST SP 800-38F. Only KW and KWP modes
|
|
|
|
|
* are supported. At the moment, only AES is approved by NIST.
|
|
|
|
|
*
|
|
|
|
|
* Module: library/nist_kw.c
|
|
|
|
|
*
|
|
|
|
|
* Requires: MBEDTLS_AES_C and MBEDTLS_CIPHER_C
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_NIST_KW_C
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_MD_C
|
|
|
|
|
*
|
|
|
|
@ -2001,6 +2283,11 @@
|
|
|
|
|
* Caller:
|
|
|
|
|
*
|
|
|
|
|
* Uncomment to enable support for (rare) MD2-signed X.509 certs.
|
|
|
|
|
*
|
|
|
|
|
* \warning MD2 is considered a weak message digest and its use constitutes a
|
|
|
|
|
* security risk. If possible, we recommend avoiding dependencies on
|
|
|
|
|
* it, and considering stronger message digests instead.
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_MD2_C
|
|
|
|
|
|
|
|
|
@ -2013,6 +2300,11 @@
|
|
|
|
|
* Caller:
|
|
|
|
|
*
|
|
|
|
|
* Uncomment to enable support for (rare) MD4-signed X.509 certs.
|
|
|
|
|
*
|
|
|
|
|
* \warning MD4 is considered a weak message digest and its use constitutes a
|
|
|
|
|
* security risk. If possible, we recommend avoiding dependencies on
|
|
|
|
|
* it, and considering stronger message digests instead.
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_MD4_C
|
|
|
|
|
|
|
|
|
@ -2026,8 +2318,15 @@
|
|
|
|
|
* library/pem.c
|
|
|
|
|
* library/ssl_tls.c
|
|
|
|
|
*
|
|
|
|
|
* This module is required for SSL/TLS and X.509.
|
|
|
|
|
* PEM_PARSE uses MD5 for decrypting encrypted keys.
|
|
|
|
|
* This module is required for SSL/TLS up to version 1.1, and for TLS 1.2
|
|
|
|
|
* depending on the handshake parameters. Further, it is used for checking
|
|
|
|
|
* MD5-signed certificates, and for PBKDF1 when decrypting PEM-encoded
|
|
|
|
|
* encrypted keys.
|
|
|
|
|
*
|
|
|
|
|
* \warning MD5 is considered a weak message digest and its use constitutes a
|
|
|
|
|
* security risk. If possible, we recommend avoiding dependencies on
|
|
|
|
|
* it, and considering stronger message digests instead.
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
#define MBEDTLS_MD5_C
|
|
|
|
|
|
|
|
|
@ -2135,7 +2434,7 @@
|
|
|
|
|
*
|
|
|
|
|
* This modules adds support for encoding / writing PEM files.
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_PEM_WRITE_C
|
|
|
|
|
#define MBEDTLS_PEM_WRITE_C
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_PK_C
|
|
|
|
@ -2180,7 +2479,7 @@
|
|
|
|
|
*
|
|
|
|
|
* Uncomment to enable generic public key write functions.
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_PK_WRITE_C
|
|
|
|
|
#define MBEDTLS_PK_WRITE_C
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_PKCS5_C
|
|
|
|
@ -2246,6 +2545,16 @@
|
|
|
|
|
*/
|
|
|
|
|
#define MBEDTLS_PLATFORM_C
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_POLY1305_C
|
|
|
|
|
*
|
|
|
|
|
* Enable the Poly1305 MAC algorithm.
|
|
|
|
|
*
|
|
|
|
|
* Module: library/poly1305.c
|
|
|
|
|
* Caller: library/chachapoly.c
|
|
|
|
|
*/
|
|
|
|
|
#define MBEDTLS_POLY1305_C
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_RIPEMD160_C
|
|
|
|
|
*
|
|
|
|
@ -2255,7 +2564,7 @@
|
|
|
|
|
* Caller: library/md.c
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_RIPEMD160_C
|
|
|
|
|
#define MBEDTLS_RIPEMD160_C
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_RSA_C
|
|
|
|
@ -2263,6 +2572,7 @@
|
|
|
|
|
* Enable the RSA public-key cryptosystem.
|
|
|
|
|
*
|
|
|
|
|
* Module: library/rsa.c
|
|
|
|
|
* library/rsa_internal.c
|
|
|
|
|
* Caller: library/ssl_cli.c
|
|
|
|
|
* library/ssl_srv.c
|
|
|
|
|
* library/ssl_tls.c
|
|
|
|
@ -2289,6 +2599,11 @@
|
|
|
|
|
*
|
|
|
|
|
* This module is required for SSL/TLS up to version 1.1, for TLS 1.2
|
|
|
|
|
* depending on the handshake parameters, and for SHA1-signed certificates.
|
|
|
|
|
*
|
|
|
|
|
* \warning SHA-1 is considered a weak message digest and its use constitutes
|
|
|
|
|
* a security risk. If possible, we recommend avoiding dependencies
|
|
|
|
|
* on it, and considering stronger message digests instead.
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
#define MBEDTLS_SHA1_C
|
|
|
|
|
|
|
|
|
@ -2517,7 +2832,7 @@
|
|
|
|
|
*
|
|
|
|
|
* This module is used for reading X.509 certificate request.
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_X509_CSR_PARSE_C
|
|
|
|
|
#define MBEDTLS_X509_CSR_PARSE_C
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_X509_CREATE_C
|
|
|
|
@ -2530,7 +2845,7 @@
|
|
|
|
|
*
|
|
|
|
|
* This module is the basis for creating X.509 certificates and CSRs.
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_X509_CREATE_C
|
|
|
|
|
#define MBEDTLS_X509_CREATE_C
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_X509_CRT_WRITE_C
|
|
|
|
@ -2543,7 +2858,7 @@
|
|
|
|
|
*
|
|
|
|
|
* This module is required for X.509 certificate creation.
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_X509_CRT_WRITE_C
|
|
|
|
|
#define MBEDTLS_X509_CRT_WRITE_C
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_X509_CSR_WRITE_C
|
|
|
|
@ -2556,7 +2871,7 @@
|
|
|
|
|
*
|
|
|
|
|
* This module is required for X.509 certificate request writing.
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_X509_CSR_WRITE_C
|
|
|
|
|
#define MBEDTLS_X509_CSR_WRITE_C
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_XTEA_C
|
|
|
|
@ -2641,7 +2956,7 @@
|
|
|
|
|
//#define MBEDTLS_PLATFORM_FPRINTF_MACRO fprintf /**< Default fprintf macro to use, can be undefined */
|
|
|
|
|
//#define MBEDTLS_PLATFORM_PRINTF_MACRO printf /**< Default printf macro to use, can be undefined */
|
|
|
|
|
/* Note: your snprintf must correclty zero-terminate the buffer! */
|
|
|
|
|
#define MBEDTLS_PLATFORM_SNPRINTF_MACRO snprintf /**< Default snprintf macro to use, can be undefined */
|
|
|
|
|
//#define MBEDTLS_PLATFORM_SNPRINTF_MACRO snprintf /**< Default snprintf macro to use, can be undefined */
|
|
|
|
|
//#define MBEDTLS_PLATFORM_NV_SEED_READ_MACRO mbedtls_platform_std_nv_seed_read /**< Default nv_seed_read function to use, can be undefined */
|
|
|
|
|
//#define MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO mbedtls_platform_std_nv_seed_write /**< Default nv_seed_write function to use, can be undefined */
|
|
|
|
|
|
|
|
|
@ -2650,7 +2965,51 @@
|
|
|
|
|
//#define MBEDTLS_SSL_CACHE_DEFAULT_MAX_ENTRIES 50 /**< Maximum entries in cache */
|
|
|
|
|
|
|
|
|
|
/* SSL options */
|
|
|
|
|
//#define MBEDTLS_SSL_MAX_CONTENT_LEN 16384 /**< Maxium fragment length in bytes, determines the size of each of the two internal I/O buffers */
|
|
|
|
|
|
|
|
|
|
/** \def MBEDTLS_SSL_MAX_CONTENT_LEN
|
|
|
|
|
*
|
|
|
|
|
* Maximum fragment length in bytes.
|
|
|
|
|
*
|
|
|
|
|
* Determines the size of both the incoming and outgoing TLS I/O buffers.
|
|
|
|
|
*
|
|
|
|
|
* Uncommenting MBEDTLS_SSL_IN_CONTENT_LEN and/or MBEDTLS_SSL_OUT_CONTENT_LEN
|
|
|
|
|
* will override this length by setting maximum incoming and/or outgoing
|
|
|
|
|
* fragment length, respectively.
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_SSL_MAX_CONTENT_LEN 16384
|
|
|
|
|
|
|
|
|
|
/** \def MBEDTLS_SSL_IN_CONTENT_LEN
|
|
|
|
|
*
|
|
|
|
|
* Maximum incoming fragment length in bytes.
|
|
|
|
|
*
|
|
|
|
|
* Uncomment to set the size of the inward TLS buffer independently of the
|
|
|
|
|
* outward buffer.
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_SSL_IN_CONTENT_LEN 16384
|
|
|
|
|
|
|
|
|
|
/** \def MBEDTLS_SSL_OUT_CONTENT_LEN
|
|
|
|
|
*
|
|
|
|
|
* Maximum outgoing fragment length in bytes.
|
|
|
|
|
*
|
|
|
|
|
* Uncomment to set the size of the outward TLS buffer independently of the
|
|
|
|
|
* inward buffer.
|
|
|
|
|
*
|
|
|
|
|
* It is possible to save RAM by setting a smaller outward buffer, while keeping
|
|
|
|
|
* the default inward 16384 byte buffer to conform to the TLS specification.
|
|
|
|
|
*
|
|
|
|
|
* The minimum required outward buffer size is determined by the handshake
|
|
|
|
|
* protocol's usage. Handshaking will fail if the outward buffer is too small.
|
|
|
|
|
* The specific size requirement depends on the configured ciphers and any
|
|
|
|
|
* certificate data which is sent during the handshake.
|
|
|
|
|
*
|
|
|
|
|
* For absolute minimum RAM usage, it's best to enable
|
|
|
|
|
* MBEDTLS_SSL_MAX_FRAGMENT_LENGTH and reduce MBEDTLS_SSL_MAX_CONTENT_LEN. This
|
|
|
|
|
* reduces both incoming and outgoing buffer sizes. However this is only
|
|
|
|
|
* guaranteed if the other end of the connection also supports the TLS
|
|
|
|
|
* max_fragment_len extension. Otherwise the connection may fail.
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_SSL_OUT_CONTENT_LEN 16384
|
|
|
|
|
|
|
|
|
|
//#define MBEDTLS_SSL_DEFAULT_TICKET_LIFETIME 86400 /**< Lifetime of session tickets (if enabled) */
|
|
|
|
|
//#define MBEDTLS_PSK_MAX_LEN 32 /**< Max size of TLS pre-shared keys, in bytes (default 256 bits) */
|
|
|
|
|
//#define MBEDTLS_SSL_COOKIE_TIMEOUT 60 /**< Default expiration delay of DTLS cookies, in seconds if HAVE_TIME, or in number of cookies issued */
|
|
|
|
@ -2677,8 +3036,13 @@
|
|
|
|
|
* Allow SHA-1 in the default TLS configuration for certificate signing.
|
|
|
|
|
* Without this build-time option, SHA-1 support must be activated explicitly
|
|
|
|
|
* through mbedtls_ssl_conf_cert_profile. Turning on this option is not
|
|
|
|
|
* recommended because of it is possible to generte SHA-1 collisions, however
|
|
|
|
|
* recommended because of it is possible to generate SHA-1 collisions, however
|
|
|
|
|
* this may be safe for legacy infrastructure where additional controls apply.
|
|
|
|
|
*
|
|
|
|
|
* \warning SHA-1 is considered a weak message digest and its use constitutes
|
|
|
|
|
* a security risk. If possible, we recommend avoiding dependencies
|
|
|
|
|
* on it, and considering stronger message digests instead.
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
// #define MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_CERTIFICATES
|
|
|
|
|
|
|
|
|
@ -2689,14 +3053,40 @@
|
|
|
|
|
* The use of SHA-1 in TLS <= 1.1 and in HMAC-SHA-1 is always allowed by
|
|
|
|
|
* default. At the time of writing, there is no practical attack on the use
|
|
|
|
|
* of SHA-1 in handshake signatures, hence this option is turned on by default
|
|
|
|
|
* for compatibility with existing peers.
|
|
|
|
|
* to preserve compatibility with existing peers, but the general
|
|
|
|
|
* warning applies nonetheless:
|
|
|
|
|
*
|
|
|
|
|
* \warning SHA-1 is considered a weak message digest and its use constitutes
|
|
|
|
|
* a security risk. If possible, we recommend avoiding dependencies
|
|
|
|
|
* on it, and considering stronger message digests instead.
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
#define MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_KEY_EXCHANGE
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Uncomment the macro to let mbed TLS use your alternate implementation of
|
|
|
|
|
* mbedtls_platform_zeroize(). This replaces the default implementation in
|
|
|
|
|
* platform_util.c.
|
|
|
|
|
*
|
|
|
|
|
* mbedtls_platform_zeroize() is a widely used function across the library to
|
|
|
|
|
* zero a block of memory. The implementation is expected to be secure in the
|
|
|
|
|
* sense that it has been written to prevent the compiler from removing calls
|
|
|
|
|
* to mbedtls_platform_zeroize() as part of redundant code elimination
|
|
|
|
|
* optimizations. However, it is difficult to guarantee that calls to
|
|
|
|
|
* mbedtls_platform_zeroize() will not be optimized by the compiler as older
|
|
|
|
|
* versions of the C language standards do not provide a secure implementation
|
|
|
|
|
* of memset(). Therefore, MBEDTLS_PLATFORM_ZEROIZE_ALT enables users to
|
|
|
|
|
* configure their own implementation of mbedtls_platform_zeroize(), for
|
|
|
|
|
* example by using directives specific to their compiler, features from newer
|
|
|
|
|
* C standards (e.g using memset_s() in C11) or calling a secure memset() from
|
|
|
|
|
* their system (e.g explicit_bzero() in BSD).
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_PLATFORM_ZEROIZE_ALT
|
|
|
|
|
|
|
|
|
|
/* \} name SECTION: Customisation configuration options */
|
|
|
|
|
|
|
|
|
|
/* Target and application specific configurations */
|
|
|
|
|
//#define YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE "mbedtls/target_config.h"
|
|
|
|
|
//#define YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE "target_config.h"
|
|
|
|
|
|
|
|
|
|
#if defined(TARGET_LIKE_MBED) && defined(YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE)
|
|
|
|
|
#include YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE
|
|
|
|
|