|
|
|
|
@ -128,7 +128,12 @@
|
|
|
|
|
* MBEDTLS_PLATFORM_TIME_MACRO, MBEDTLS_PLATFORM_TIME_TYPE_MACRO and
|
|
|
|
|
* MBEDTLS_PLATFORM_STD_TIME.
|
|
|
|
|
*
|
|
|
|
|
* Comment if your system does not support time functions
|
|
|
|
|
* Comment if your system does not support time functions.
|
|
|
|
|
*
|
|
|
|
|
* \note If MBEDTLS_TIMING_C is set - to enable the semi-portable timing
|
|
|
|
|
* interface - timing.c will include time.h on suitable platforms
|
|
|
|
|
* regardless of the setting of MBEDTLS_HAVE_TIME, unless
|
|
|
|
|
* MBEDTLS_TIMING_ALT is used. See timing.c for more information.
|
|
|
|
|
*/
|
|
|
|
|
#define MBEDTLS_HAVE_TIME
|
|
|
|
|
|
|
|
|
|
@ -321,7 +326,7 @@
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_CHECK_PARAMS_ASSERT
|
|
|
|
|
|
|
|
|
|
/* \} name SECTION: System support */
|
|
|
|
|
/** \} name SECTION: System support */
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \name SECTION: mbed TLS feature support
|
|
|
|
|
@ -395,7 +400,7 @@
|
|
|
|
|
//#define MBEDTLS_XTEA_ALT
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* When replacing the elliptic curve module, pleace consider, that it is
|
|
|
|
|
* When replacing the elliptic curve module, please consider, that it is
|
|
|
|
|
* implemented with two .c files:
|
|
|
|
|
* - ecp.c
|
|
|
|
|
* - ecp_curves.c
|
|
|
|
|
@ -1493,7 +1498,7 @@
|
|
|
|
|
* Enable an implementation of SHA-256 that has lower ROM footprint but also
|
|
|
|
|
* lower performance.
|
|
|
|
|
*
|
|
|
|
|
* The default implementation is meant to be a reasonnable compromise between
|
|
|
|
|
* The default implementation is meant to be a reasonable compromise between
|
|
|
|
|
* performance and size. This version optimizes more aggressively for size at
|
|
|
|
|
* the expense of performance. Eg on Cortex-M4 it reduces the size of
|
|
|
|
|
* mbedtls_sha256_process() from ~2KB to ~0.5KB for a performance hit of about
|
|
|
|
|
@ -1658,7 +1663,7 @@
|
|
|
|
|
* Enable support for RFC 7627: Session Hash and Extended Master Secret
|
|
|
|
|
* Extension.
|
|
|
|
|
*
|
|
|
|
|
* This was introduced as "the proper fix" to the Triple Handshake familiy of
|
|
|
|
|
* This was introduced as "the proper fix" to the Triple Handshake family of
|
|
|
|
|
* attacks, but it is recommended to always use it (even if you disable
|
|
|
|
|
* renegotiation), since it actually fixes a more fundamental issue in the
|
|
|
|
|
* original SSL/TLS design, and has implications beyond Triple Handshake.
|
|
|
|
|
@ -1704,7 +1709,7 @@
|
|
|
|
|
* \note This option has no influence on the protection against the
|
|
|
|
|
* triple handshake attack. Even if it is disabled, Mbed TLS will
|
|
|
|
|
* still ensure that certificates do not change during renegotiation,
|
|
|
|
|
* for exaple by keeping a hash of the peer's certificate.
|
|
|
|
|
* for example by keeping a hash of the peer's certificate.
|
|
|
|
|
*
|
|
|
|
|
* Comment this macro to disable storing the peer's certificate
|
|
|
|
|
* after the handshake.
|
|
|
|
|
@ -1909,7 +1914,7 @@
|
|
|
|
|
* unless you know for sure amplification cannot be a problem in the
|
|
|
|
|
* environment in which your server operates.
|
|
|
|
|
*
|
|
|
|
|
* \warning Disabling this can ba a security risk! (see above)
|
|
|
|
|
* \warning Disabling this can be a security risk! (see above)
|
|
|
|
|
*
|
|
|
|
|
* Requires: MBEDTLS_SSL_PROTO_DTLS
|
|
|
|
|
*
|
|
|
|
|
@ -2162,8 +2167,19 @@
|
|
|
|
|
* This setting allows support for cryptographic mechanisms through the PSA
|
|
|
|
|
* API to be configured separately from support through the mbedtls API.
|
|
|
|
|
*
|
|
|
|
|
* Uncomment this to enable use of PSA Crypto configuration settings which
|
|
|
|
|
* can be found in include/psa/crypto_config.h.
|
|
|
|
|
* When this option is disabled, the PSA API exposes the cryptographic
|
|
|
|
|
* mechanisms that can be implemented on top of the `mbedtls_xxx` API
|
|
|
|
|
* configured with `MBEDTLS_XXX` symbols.
|
|
|
|
|
*
|
|
|
|
|
* When this option is enabled, the PSA API exposes the cryptographic
|
|
|
|
|
* mechanisms requested by the `PSA_WANT_XXX` symbols defined in
|
|
|
|
|
* include/psa/crypto_config.h. The corresponding `MBEDTLS_XXX` settings are
|
|
|
|
|
* automatically enabled if required (i.e. if no PSA driver provides the
|
|
|
|
|
* mechanism). You may still freely enable additional `MBEDTLS_XXX` symbols
|
|
|
|
|
* in config.h.
|
|
|
|
|
*
|
|
|
|
|
* If the symbol #MBEDTLS_PSA_CRYPTO_CONFIG_FILE is defined, it specifies
|
|
|
|
|
* an alternative header to include instead of include/psa/crypto_config.h.
|
|
|
|
|
*
|
|
|
|
|
* If you enable this option and write your own configuration file, you must
|
|
|
|
|
* include mbedtls/config_psa.h in your configuration file. The default
|
|
|
|
|
@ -2289,7 +2305,7 @@
|
|
|
|
|
* Uncomment to enable use of ZLIB
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_ZLIB_SUPPORT
|
|
|
|
|
/* \} name SECTION: mbed TLS feature support */
|
|
|
|
|
/** \} name SECTION: mbed TLS feature support */
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \name SECTION: mbed TLS modules
|
|
|
|
|
@ -2902,7 +2918,7 @@
|
|
|
|
|
*
|
|
|
|
|
* Requires: MBEDTLS_MD_C
|
|
|
|
|
*
|
|
|
|
|
* Uncomment to enable the HMAC_DRBG random number geerator.
|
|
|
|
|
* Uncomment to enable the HMAC_DRBG random number generator.
|
|
|
|
|
*/
|
|
|
|
|
#define MBEDTLS_HMAC_DRBG_C
|
|
|
|
|
|
|
|
|
|
@ -3096,7 +3112,7 @@
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_PK_C
|
|
|
|
|
*
|
|
|
|
|
* Enable the generic public (asymetric) key layer.
|
|
|
|
|
* Enable the generic public (asymmetric) key layer.
|
|
|
|
|
*
|
|
|
|
|
* Module: library/pk.c
|
|
|
|
|
* Caller: library/ssl_tls.c
|
|
|
|
|
@ -3112,7 +3128,7 @@
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_PK_PARSE_C
|
|
|
|
|
*
|
|
|
|
|
* Enable the generic public (asymetric) key parser.
|
|
|
|
|
* Enable the generic public (asymmetric) key parser.
|
|
|
|
|
*
|
|
|
|
|
* Module: library/pkparse.c
|
|
|
|
|
* Caller: library/x509_crt.c
|
|
|
|
|
@ -3127,7 +3143,7 @@
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_PK_WRITE_C
|
|
|
|
|
*
|
|
|
|
|
* Enable the generic public (asymetric) key writer.
|
|
|
|
|
* Enable the generic public (asymmetric) key writer.
|
|
|
|
|
*
|
|
|
|
|
* Module: library/pkwrite.c
|
|
|
|
|
* Caller: library/x509write.c
|
|
|
|
|
@ -3466,6 +3482,10 @@
|
|
|
|
|
* your own implementation of the whole module by setting
|
|
|
|
|
* \c MBEDTLS_TIMING_ALT in the current file.
|
|
|
|
|
*
|
|
|
|
|
* \note The timing module will include time.h on suitable platforms
|
|
|
|
|
* regardless of the setting of MBEDTLS_HAVE_TIME, unless
|
|
|
|
|
* MBEDTLS_TIMING_ALT is used. See timing.c for more information.
|
|
|
|
|
*
|
|
|
|
|
* \note See also our Knowledge Base article about porting to a new
|
|
|
|
|
* environment:
|
|
|
|
|
* https://tls.mbed.org/kb/how-to/how-do-i-port-mbed-tls-to-a-new-environment-OS
|
|
|
|
|
@ -3598,7 +3618,88 @@
|
|
|
|
|
*/
|
|
|
|
|
#define MBEDTLS_XTEA_C
|
|
|
|
|
|
|
|
|
|
/* \} name SECTION: mbed TLS modules */
|
|
|
|
|
/** \} name SECTION: mbed TLS modules */
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \name SECTION: General configuration options
|
|
|
|
|
*
|
|
|
|
|
* This section contains Mbed TLS build settings that are not associated
|
|
|
|
|
* with a particular module.
|
|
|
|
|
*
|
|
|
|
|
* \{
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_CONFIG_FILE
|
|
|
|
|
*
|
|
|
|
|
* If defined, this is a header which will be included instead of
|
|
|
|
|
* `"mbedtls/config.h"`.
|
|
|
|
|
* This header file specifies the compile-time configuration of Mbed TLS.
|
|
|
|
|
* Unlike other configuration options, this one must be defined on the
|
|
|
|
|
* compiler command line: a definition in `config.h` would have no effect.
|
|
|
|
|
*
|
|
|
|
|
* This macro is expanded after an <tt>\#include</tt> directive. This is a popular but
|
|
|
|
|
* non-standard feature of the C language, so this feature is only available
|
|
|
|
|
* with compilers that perform macro expansion on an <tt>\#include</tt> line.
|
|
|
|
|
*
|
|
|
|
|
* The value of this symbol is typically a path in double quotes, either
|
|
|
|
|
* absolute or relative to a directory on the include search path.
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_CONFIG_FILE "mbedtls/config.h"
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_USER_CONFIG_FILE
|
|
|
|
|
*
|
|
|
|
|
* If defined, this is a header which will be included after
|
|
|
|
|
* `"mbedtls/config.h"` or #MBEDTLS_CONFIG_FILE.
|
|
|
|
|
* This allows you to modify the default configuration, including the ability
|
|
|
|
|
* to undefine options that are enabled by default.
|
|
|
|
|
*
|
|
|
|
|
* This macro is expanded after an <tt>\#include</tt> directive. This is a popular but
|
|
|
|
|
* non-standard feature of the C language, so this feature is only available
|
|
|
|
|
* with compilers that perform macro expansion on an <tt>\#include</tt> line.
|
|
|
|
|
*
|
|
|
|
|
* The value of this symbol is typically a path in double quotes, either
|
|
|
|
|
* absolute or relative to a directory on the include search path.
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_USER_CONFIG_FILE "/dev/null"
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_PSA_CRYPTO_CONFIG_FILE
|
|
|
|
|
*
|
|
|
|
|
* If defined, this is a header which will be included instead of
|
|
|
|
|
* `"psa/crypto_config.h"`.
|
|
|
|
|
* This header file specifies which cryptographic mechanisms are available
|
|
|
|
|
* through the PSA API when #MBEDTLS_PSA_CRYPTO_CONFIG is enabled, and
|
|
|
|
|
* is not used when #MBEDTLS_PSA_CRYPTO_CONFIG is disabled.
|
|
|
|
|
*
|
|
|
|
|
* This macro is expanded after an <tt>\#include</tt> directive. This is a popular but
|
|
|
|
|
* non-standard feature of the C language, so this feature is only available
|
|
|
|
|
* with compilers that perform macro expansion on an <tt>\#include</tt> line.
|
|
|
|
|
*
|
|
|
|
|
* The value of this symbol is typically a path in double quotes, either
|
|
|
|
|
* absolute or relative to a directory on the include search path.
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_PSA_CRYPTO_CONFIG_FILE "psa/crypto_config.h"
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \def MBEDTLS_PSA_CRYPTO_USER_CONFIG_FILE
|
|
|
|
|
*
|
|
|
|
|
* If defined, this is a header which will be included after
|
|
|
|
|
* `"psa/crypto_config.h"` or #MBEDTLS_PSA_CRYPTO_CONFIG_FILE.
|
|
|
|
|
* This allows you to modify the default configuration, including the ability
|
|
|
|
|
* to undefine options that are enabled by default.
|
|
|
|
|
*
|
|
|
|
|
* This macro is expanded after an <tt>\#include</tt> directive. This is a popular but
|
|
|
|
|
* non-standard feature of the C language, so this feature is only available
|
|
|
|
|
* with compilers that perform macro expansion on an <tt>\#include</tt> line.
|
|
|
|
|
*
|
|
|
|
|
* The value of this symbol is typically a path in double quotes, either
|
|
|
|
|
* absolute or relative to a directory on the include search path.
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_PSA_CRYPTO_USER_CONFIG_FILE "/dev/null"
|
|
|
|
|
|
|
|
|
|
/** \} name SECTION: General configuration options */
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* \name SECTION: Module configuration options
|
|
|
|
|
@ -3609,11 +3710,15 @@
|
|
|
|
|
*
|
|
|
|
|
* Our advice is to enable options and change their values here
|
|
|
|
|
* only if you have a good reason and know the consequences.
|
|
|
|
|
*
|
|
|
|
|
* Please check the respective header file for documentation on these
|
|
|
|
|
* parameters (to prevent duplicate documentation).
|
|
|
|
|
* \{
|
|
|
|
|
*/
|
|
|
|
|
/* The Doxygen documentation here is used when a user comments out a
|
|
|
|
|
* setting and runs doxygen themselves. On the other hand, when we typeset
|
|
|
|
|
* the full documentation including disabled settings, the documentation
|
|
|
|
|
* in specific modules' header files is used if present. When editing this
|
|
|
|
|
* file, make sure that each option is documented in exactly one place,
|
|
|
|
|
* plus optionally a same-line Doxygen comment here if there is a Doxygen
|
|
|
|
|
* comment in the specific module. */
|
|
|
|
|
|
|
|
|
|
/* MPI / BIGNUM options */
|
|
|
|
|
//#define MBEDTLS_MPI_WINDOW_SIZE 6 /**< Maximum window size used. */
|
|
|
|
|
@ -4002,7 +4107,7 @@
|
|
|
|
|
*/
|
|
|
|
|
//#define MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED
|
|
|
|
|
|
|
|
|
|
/* \} name SECTION: Customisation configuration options */
|
|
|
|
|
/** \} name SECTION: Module configuration options */
|
|
|
|
|
|
|
|
|
|
/* Target and application specific configurations
|
|
|
|
|
*
|
|
|
|
|
|