Here is the mbedConfig.h file
#ifndef MBEDTLS_CONFIG_H
#define MBEDTLS_CONFIG_H
#if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
#define _CRT_SECURE_NO_DEPRECATE 1
#endif
/**
- \name SECTION: System support
-
- This section sets system specific settings.
- {
*/
#define MBEDTLS_HAVE_ASM
#define MBEDTLS_HAVE_TIME
#define MBEDTLS_HAVE_TIME_DATE
//#define MBEDTLS_PLATFORM_MEMORY
//#define MBEDTLS_PLATFORM_NO_STD_FUNCTIONS
//#define MBEDTLS_PLATFORM_EXIT_ALT
//#define MBEDTLS_PLATFORM_TIME_ALT
//#define MBEDTLS_PLATFORM_FPRINTF_ALT
//#define MBEDTLS_PLATFORM_PRINTF_ALT
//#define MBEDTLS_PLATFORM_SNPRINTF_ALT
//#define MBEDTLS_PLATFORM_NV_SEED_ALT
//#define MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT
//#define MBEDTLS_DEPRECATED_WARNING
//#define MBEDTLS_DEPRECATED_REMOVED
/* } name SECTION: System support */
//#define MBEDTLS_TIMING_ALT
//#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_CMAC_ALT
//#define MBEDTLS_DES_ALT
//#define MBEDTLS_DHM_ALT
//#define MBEDTLS_ECJPAKE_ALT
//#define MBEDTLS_GCM_ALT
//#define MBEDTLS_MD2_ALT
//#define MBEDTLS_MD4_ALT
//#define MBEDTLS_MD5_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
//#define MBEDTLS_ECP_ALT
//#define MBEDTLS_MD2_PROCESS_ALT
//#define MBEDTLS_MD4_PROCESS_ALT
//#define MBEDTLS_MD5_PROCESS_ALT
//#define MBEDTLS_RIPEMD160_PROCESS_ALT
//#define MBEDTLS_SHA1_PROCESS_ALT
//#define MBEDTLS_SHA256_PROCESS_ALT
//#define MBEDTLS_SHA512_PROCESS_ALT
//#define MBEDTLS_DES_SETKEY_ALT
//#define MBEDTLS_DES_CRYPT_ECB_ALT
//#define MBEDTLS_DES3_CRYPT_ECB_ALT
//#define MBEDTLS_AES_SETKEY_ENC_ALT
//#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
/* Required for all the functions in this section /
//#define MBEDTLS_ECP_INTERNAL_ALT
/ Support for Weierstrass curves with Jacobi representation /
//#define MBEDTLS_ECP_RANDOMIZE_JAC_ALT
//#define MBEDTLS_ECP_ADD_MIXED_ALT
//#define MBEDTLS_ECP_DOUBLE_JAC_ALT
//#define MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT
//#define MBEDTLS_ECP_NORMALIZE_JAC_ALT
/ Support for curves with Montgomery arithmetic */
//#define MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT
//#define MBEDTLS_ECP_RANDOMIZE_MXZ_ALT
//#define MBEDTLS_ECP_NORMALIZE_MXZ_ALT
//#define MBEDTLS_TEST_NULL_ENTROPY
//#define MBEDTLS_ENTROPY_HARDWARE_ALT
//#define MBEDTLS_AES_ROM_TABLES
//#define MBEDTLS_AES_FEWER_TABLES
//#define MBEDTLS_CAMELLIA_SMALL_MEMORY
/**
- \def MBEDTLS_CIPHER_MODE_CBC
-
- Enable Cipher Block Chaining mode (CBC) for symmetric ciphers.
*/
#define MBEDTLS_CIPHER_MODE_CBC
/**
- \def MBEDTLS_CIPHER_MODE_CFB
-
- Enable Cipher Feedback mode (CFB) for symmetric ciphers.
*/
#define MBEDTLS_CIPHER_MODE_CFB
/**
- \def MBEDTLS_CIPHER_MODE_CTR
-
- Enable Counter Block Cipher mode (CTR) for symmetric ciphers.
*/
#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
-
- Enable NULL cipher.
- Warning: Only do so when you know what you are doing. This allows for
- encryption or channels without any security!
-
- Requires MBEDTLS_ENABLE_WEAK_CIPHERSUITES as well to enable
- the following ciphersuites:
-
MBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA
-
MBEDTLS_TLS_ECDH_RSA_WITH_NULL_SHA
-
MBEDTLS_TLS_ECDHE_ECDSA_WITH_NULL_SHA
-
MBEDTLS_TLS_ECDHE_RSA_WITH_NULL_SHA
-
MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA384
-
MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA256
-
MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA
-
MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA384
-
MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA256
-
MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA
-
MBEDTLS_TLS_RSA_WITH_NULL_SHA256
-
MBEDTLS_TLS_RSA_WITH_NULL_SHA
-
MBEDTLS_TLS_RSA_WITH_NULL_MD5
-
MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA384
-
MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA256
-
MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA
-
MBEDTLS_TLS_PSK_WITH_NULL_SHA384
-
MBEDTLS_TLS_PSK_WITH_NULL_SHA256
-
MBEDTLS_TLS_PSK_WITH_NULL_SHA
-
- Uncomment this macro to enable the NULL cipher and ciphersuites
*/
//#define MBEDTLS_CIPHER_NULL_CIPHER
/**
- \def MBEDTLS_CIPHER_PADDING_PKCS7
-
- MBEDTLS_CIPHER_PADDING_XXX: Uncomment or comment macros to add support for
- specific padding modes in the cipher layer with cipher modes that support
- padding (e.g. CBC)
-
- If you disable all padding modes, only full blocks can be used with CBC.
-
- Enable padding modes in the cipher layer.
*/
#define MBEDTLS_CIPHER_PADDING_PKCS7
#define MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS
#define MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN
#define MBEDTLS_CIPHER_PADDING_ZEROS
//#define MBEDTLS_ENABLE_WEAK_CIPHERSUITES
#define MBEDTLS_REMOVE_ARC4_CIPHERSUITES
/**
- \def MBEDTLS_ECP_DP_SECP192R1_ENABLED
-
- MBEDTLS_ECP_XXXX_ENABLED: Enables specific curves within the Elliptic Curve
- module. By default all supported curves are enabled.
-
- Comment macros to disable the curve and functions for it
*/
#define MBEDTLS_ECP_DP_SECP192R1_ENABLED
#define MBEDTLS_ECP_DP_SECP224R1_ENABLED
#define MBEDTLS_ECP_DP_SECP256R1_ENABLED
#define MBEDTLS_ECP_DP_SECP384R1_ENABLED
#define MBEDTLS_ECP_DP_SECP521R1_ENABLED
#define MBEDTLS_ECP_DP_SECP192K1_ENABLED
#define MBEDTLS_ECP_DP_SECP224K1_ENABLED
#define MBEDTLS_ECP_DP_SECP256K1_ENABLED
#define MBEDTLS_ECP_DP_BP256R1_ENABLED
#define MBEDTLS_ECP_DP_BP384R1_ENABLED
#define MBEDTLS_ECP_DP_BP512R1_ENABLED
#define MBEDTLS_ECP_DP_CURVE25519_ENABLED
#define MBEDTLS_ECP_DP_CURVE448_ENABLED
#define MBEDTLS_ECP_NIST_OPTIM
#define MBEDTLS_ECDSA_DETERMINISTIC
/**
- \def MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
-
- Enable the PSK based ciphersuite modes in SSL / TLS.
-
- This enables the following ciphersuites (if other requisites are
- enabled as well):
-
MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384
-
MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA384
-
MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA
-
MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384
-
MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384
-
MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256
-
MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA256
-
MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA
-
MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256
-
MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256
-
MBEDTLS_TLS_PSK_WITH_3DES_EDE_CBC_SHA
-
MBEDTLS_TLS_PSK_WITH_RC4_128_SHA
*/
#define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
#define MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED
#define MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
/**
- \def MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
-
- Enable the RSA-PSK based ciphersuite modes in SSL / TLS.
-
- Requires: MBEDTLS_RSA_C, MBEDTLS_PKCS1_V15,
-
MBEDTLS_X509_CRT_PARSE_C
-
- This enables the following ciphersuites (if other requisites are
- enabled as well):
-
MBEDTLS_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384
-
MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384
-
MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA
-
MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384
-
MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384
-
MBEDTLS_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256
-
MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256
-
MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA
-
MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256
-
MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256
-
MBEDTLS_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA
-
MBEDTLS_TLS_RSA_PSK_WITH_RC4_128_SHA
*/
#define MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
/**
- \def MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
-
- Enable the RSA-only based ciphersuite modes in SSL / TLS.
-
- Requires: MBEDTLS_RSA_C, MBEDTLS_PKCS1_V15,
-
MBEDTLS_X509_CRT_PARSE_C
-
- This enables the following ciphersuites (if other requisites are
- enabled as well):
-
MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384
-
MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256
-
MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA
-
MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384
-
MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256
-
MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
-
MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256
-
MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA256
-
MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA
-
MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256
-
MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256
-
MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
-
MBEDTLS_TLS_RSA_WITH_3DES_EDE_CBC_SHA
-
MBEDTLS_TLS_RSA_WITH_RC4_128_SHA
-
MBEDTLS_TLS_RSA_WITH_RC4_128_MD5
*/
#define MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
/**
- \def MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED
-
- Enable the DHE-RSA based ciphersuite modes in SSL / TLS.
-
- Requires: MBEDTLS_DHM_C, MBEDTLS_RSA_C, MBEDTLS_PKCS1_V15,
-
MBEDTLS_X509_CRT_PARSE_C
-
- This enables the following ciphersuites (if other requisites are
- enabled as well):
-
MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
-
MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
-
MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA
-
MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
-
MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256
-
MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
-
MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
-
MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
-
MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA
-
MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
-
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
/**
- \def MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
-
- Enable the ECDHE-RSA based ciphersuite modes in SSL / TLS.
-
- Requires: MBEDTLS_ECDH_C, MBEDTLS_RSA_C, MBEDTLS_PKCS1_V15,
-
MBEDTLS_X509_CRT_PARSE_C
-
- This enables the following ciphersuites (if other requisites are
- enabled as well):
-
MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
-
MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
-
MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
-
MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
-
MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384
-
MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
-
MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
-
MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
-
MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
-
MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
-
MBEDTLS_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
-
MBEDTLS_TLS_ECDHE_RSA_WITH_RC4_128_SHA
*/
#define MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
/**
- \def MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
-
- Enable the ECDHE-ECDSA based ciphersuite modes in SSL / TLS.
-
- Requires: MBEDTLS_ECDH_C, MBEDTLS_ECDSA_C, MBEDTLS_X509_CRT_PARSE_C,
-
- This enables the following ciphersuites (if other requisites are
- enabled as well):
-
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
-
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
-
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
-
MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
-
MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384
-
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
-
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
-
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
-
MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
-
MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256
-
MBEDTLS_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
-
MBEDTLS_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
*/
#define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
/**
- \def MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED
-
- Enable the ECDH-ECDSA based ciphersuite modes in SSL / TLS.
-
- Requires: MBEDTLS_ECDH_C, MBEDTLS_X509_CRT_PARSE_C
-
- This enables the following ciphersuites (if other requisites are
- enabled as well):
-
MBEDTLS_TLS_ECDH_ECDSA_WITH_RC4_128_SHA
-
MBEDTLS_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
-
MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
-
MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
-
MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
-
MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
-
MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
-
MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
-
MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256
-
MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384
-
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
/**
- \def MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
-
- Enable the ECDH-RSA based ciphersuite modes in SSL / TLS.
-
- Requires: MBEDTLS_ECDH_C, MBEDTLS_X509_CRT_PARSE_C
-
- This enables the following ciphersuites (if other requisites are
- enabled as well):
-
MBEDTLS_TLS_ECDH_RSA_WITH_RC4_128_SHA
-
MBEDTLS_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
-
MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
-
MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
-
MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
-
MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
-
MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
-
MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
-
MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256
-
MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384
-
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_ECJPAKE_ENABLED
#define MBEDTLS_PK_PARSE_EC_EXTENDED
#define MBEDTLS_ERROR_STRERROR_DUMMY
/**
- \def MBEDTLS_GENPRIME
-
- Enable the prime-number generation code.
-
- Requires: MBEDTLS_BIGNUM_C
*/
#define MBEDTLS_GENPRIME
/**
- \def MBEDTLS_FS_IO
-
- Enable functions that use the filesystem.
*/
#define MBEDTLS_FS_IO
//#define MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES
/**
- \def MBEDTLS_NO_PLATFORM_ENTROPY
-
- Do not use built-in platform entropy functions.
- This is useful if your platform does not support
- standards like the /dev/urandom or Windows CryptoAPI.
-
- Uncomment this macro to disable the built-in platform entropy functions.
*/
//#define MBEDTLS_NO_PLATFORM_ENTROPY
//#define MBEDTLS_ENTROPY_FORCE_SHA256
//#define MBEDTLS_ENTROPY_NV_SEED
//#define MBEDTLS_MEMORY_DEBUG
//#define MBEDTLS_MEMORY_BACKTRACE
#define MBEDTLS_PK_RSA_ALT_SUPPORT
#define MBEDTLS_PKCS1_V15
#define MBEDTLS_PKCS1_V21
//#define MBEDTLS_RSA_NO_CRT
#define MBEDTLS_SELF_TEST
//#define MBEDTLS_SHA256_SMALLER
#define MBEDTLS_SSL_ALL_ALERT_MESSAGES
//#define MBEDTLS_SSL_ASYNC_PRIVATE
//#define MBEDTLS_SSL_DEBUG_ALL
#define MBEDTLS_SSL_ENCRYPT_THEN_MAC
#define MBEDTLS_SSL_EXTENDED_MASTER_SECRET
#define MBEDTLS_SSL_FALLBACK_SCSV
//#define MBEDTLS_SSL_HW_RECORD_ACCEL
#define MBEDTLS_SSL_CBC_RECORD_SPLITTING
#define MBEDTLS_SSL_RENEGOTIATION
//#define MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO
/**
- \def MBEDTLS_SSL_SRV_RESPECT_CLIENT_PREFERENCE
-
- Pick the ciphersuite according to the client’s preferences rather than ours
- in the SSL Server module (MBEDTLS_SSL_SRV_C).
-
- Uncomment this macro to respect client’s ciphersuite order
*/
//#define MBEDTLS_SSL_SRV_RESPECT_CLIENT_PREFERENCE
#define MBEDTLS_SSL_MAX_FRAGMENT_LENGTH
#define MBEDTLS_SSL_PROTO_TLS1
#define MBEDTLS_SSL_PROTO_TLS1_1
#define MBEDTLS_SSL_PROTO_TLS1_2
#define MBEDTLS_SSL_PROTO_DTLS
#define MBEDTLS_SSL_ALPN
#define MBEDTLS_SSL_DTLS_ANTI_REPLAY
#define MBEDTLS_SSL_DTLS_HELLO_VERIFY
#define MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE
#define MBEDTLS_SSL_DTLS_BADMAC_LIMIT
#define MBEDTLS_SSL_SESSION_TICKETS
#define MBEDTLS_SSL_EXPORT_KEYS
#define MBEDTLS_SSL_SERVER_NAME_INDICATION
#define MBEDTLS_SSL_TRUNCATED_HMAC
//#define MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT
//#define MBEDTLS_THREADING_ALT
//#define MBEDTLS_THREADING_PTHREAD
#define MBEDTLS_VERSION_FEATURES
//#define MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3
#define MBEDTLS_X509_CHECK_KEY_USAGE
#define MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE
/**
- \def MBEDTLS_X509_RSASSA_PSS_SUPPORT
-
- Enable parsing and verification of X.509 certificates, CRLs and CSRS
- signed with RSASSA-PSS (aka PKCS#1 v2.1).
-
- Comment this macro to disallow using RSASSA-PSS in certificates.
*/
#define MBEDTLS_X509_RSASSA_PSS_SUPPORT
/**
- \def MBEDTLS_AESNI_C
-
- Enable AES-NI support on x86-64.
-
- Module: library/aesni.c
- Caller: library/aes.c
-
- Requires: MBEDTLS_HAVE_ASM
-
- This modules adds support for the AES-NI instructions on x86-64
*/
#define MBEDTLS_AESNI_C
#define MBEDTLS_AES_C
#define MBEDTLS_ARC4_C
#define MBEDTLS_ASN1_PARSE_C
#define MBEDTLS_ASN1_WRITE_C
/**
- \def MBEDTLS_BASE64_C
-
- Enable the Base64 module.
-
- Module: library/base64.c
- Caller: library/pem.c
-
- This module is required for PEM support (required by X.509).
*/
#define MBEDTLS_BASE64_C
#define MBEDTLS_BIGNUM_C
/**
- \def MBEDTLS_BLOWFISH_C
-
- Enable the Blowfish block cipher.
-
- Module: library/blowfish.c
*/
#define MBEDTLS_BLOWFISH_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
-
- Enable the Counter with CBC-MAC (CCM) mode for 128-bit block cipher.
-
- Module: library/ccm.c
-
- Requires: MBEDTLS_AES_C or MBEDTLS_CAMELLIA_C
-
- This module enables the AES-CCM ciphersuites, if other requisites are
- enabled as well.
*/
#define MBEDTLS_CCM_C
/**
- \def MBEDTLS_CERTS_C
-
- Enable the test certificates.
-
- Module: library/certs.c
- Caller:
-
- This module is used for testing (ssl_client/server).
*/
#define MBEDTLS_CERTS_C
/**
- \def MBEDTLS_CIPHER_C
-
- Enable the generic cipher layer.
-
- Module: library/cipher.c
- Caller: library/ssl_tls.c
-
- Uncomment to enable generic cipher wrappers.
*/
#define MBEDTLS_CIPHER_C
//#define MBEDTLS_CMAC_C
#define MBEDTLS_CTR_DRBG_C
#define MBEDTLS_DEBUG_C
#define MBEDTLS_DES_C
#define MBEDTLS_DHM_C
#define MBEDTLS_ECDH_C
#define MBEDTLS_ECDSA_C
//#define MBEDTLS_ECJPAKE_C
#define MBEDTLS_ECP_C
#define MBEDTLS_ENTROPY_C
#define MBEDTLS_ERROR_C
#define MBEDTLS_GCM_C
#define MBEDTLS_HKDF_C
#define MBEDTLS_HMAC_DRBG_C
#define MBEDTLS_MD_C
//#define MBEDTLS_MD2_C
//#define MBEDTLS_MD4_C
#define MBEDTLS_MD5_C
//#define MBEDTLS_MEMORY_BUFFER_ALLOC_C
#define MBEDTLS_NET_C
#define MBEDTLS_OID_C
#define MBEDTLS_PADLOCK_C
#define MBEDTLS_PEM_PARSE_C
#define MBEDTLS_PEM_WRITE_C
#define MBEDTLS_PK_C
#define MBEDTLS_PK_PARSE_C
#define MBEDTLS_PK_WRITE_C
#define MBEDTLS_PKCS5_C
//#define MBEDTLS_PKCS11_C
#define MBEDTLS_PKCS12_C
#define MBEDTLS_PLATFORM_C
/**
- \def MBEDTLS_RIPEMD160_C
-
- Enable the RIPEMD-160 hash algorithm.
-
- Module: library/ripemd160.c
- Caller: library/md.c
-
*/
#define MBEDTLS_RIPEMD160_C
#define MBEDTLS_RSA_C
#define MBEDTLS_SHA1_C
#define MBEDTLS_SHA256_C
#define MBEDTLS_SHA512_C
#define MBEDTLS_SSL_CACHE_C
#define MBEDTLS_SSL_COOKIE_C
#define MBEDTLS_SSL_TICKET_C
#define MBEDTLS_SSL_CLI_C
#define MBEDTLS_SSL_SRV_C
#define MBEDTLS_SSL_TLS_C
#define MBEDTLS_TIMING_C
#define MBEDTLS_VERSION_C
#define MBEDTLS_X509_USE_C
#define MBEDTLS_X509_CRT_PARSE_C
#define MBEDTLS_X509_CRL_PARSE_C
#define MBEDTLS_X509_CSR_PARSE_C
#define MBEDTLS_X509_CREATE_C
#define MBEDTLS_X509_CRT_WRITE_C
#define MBEDTLS_X509_CSR_WRITE_C
#define MBEDTLS_XTEA_C
/* } name SECTION: mbed TLS modules */
/* MPI / BIGNUM options */
//#define MBEDTLS_MPI_WINDOW_SIZE 6 /< Maximum windows size used. */
//#define MBEDTLS_MPI_MAX_SIZE 1024 /< Maximum number of bytes for usable MPIs. */
/* CTR_DRBG options */
//#define MBEDTLS_CTR_DRBG_ENTROPY_LEN 48 /< Amount of entropy used per seed by default (48 with SHA-512, 32 with SHA-256) */
//#define MBEDTLS_CTR_DRBG_RESEED_INTERVAL 10000 /< Interval before reseed is performed by default */
//#define MBEDTLS_CTR_DRBG_MAX_INPUT 256 /< Maximum number of additional input bytes */
//#define MBEDTLS_CTR_DRBG_MAX_REQUEST 1024 /< Maximum number of requested bytes per call */
//#define MBEDTLS_CTR_DRBG_MAX_SEED_INPUT 384 /**< Maximum size of (re)seed buffer */
/* HMAC_DRBG options */
//#define MBEDTLS_HMAC_DRBG_RESEED_INTERVAL 10000 /< Interval before reseed is performed by default */
//#define MBEDTLS_HMAC_DRBG_MAX_INPUT 256 /< Maximum number of additional input bytes */
//#define MBEDTLS_HMAC_DRBG_MAX_REQUEST 1024 /< Maximum number of requested bytes per call */
//#define MBEDTLS_HMAC_DRBG_MAX_SEED_INPUT 384 /< Maximum size of (re)seed buffer */
/* ECP options */
//#define MBEDTLS_ECP_MAX_BITS 521 /< Maximum bit size of groups */
//#define MBEDTLS_ECP_WINDOW_SIZE 6 /< Maximum window size used */
//#define MBEDTLS_ECP_FIXED_POINT_OPTIM 1 /**< Enable fixed-point speed-up */
/* Entropy options */
//#define MBEDTLS_ENTROPY_MAX_SOURCES 20 /< Maximum number of sources supported */
//#define MBEDTLS_ENTROPY_MAX_GATHER 128 /< Maximum amount requested from entropy sources */
//#define MBEDTLS_ENTROPY_MIN_HARDWARE 32 /**< Default minimum number of bytes required for the hardware entropy source mbedtls_hardware_poll() before entropy is released */
/* Memory buffer allocator options */
//#define MBEDTLS_MEMORY_ALIGN_MULTIPLE 4 /**< Align on multiples of this value */
/* Platform options */
//#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. */
//#define MBEDTLS_PLATFORM_STD_CALLOC calloc /< Default allocator to use, can be undefined */
//#define MBEDTLS_PLATFORM_STD_FREE free /< Default free to use, can be undefined */
//#define MBEDTLS_PLATFORM_STD_EXIT exit /< Default exit to use, can be undefined */
//#define MBEDTLS_PLATFORM_STD_TIME time /< Default time to use, can be undefined. MBEDTLS_HAVE_TIME must be enabled */
//#define MBEDTLS_PLATFORM_STD_FPRINTF fprintf /< Default fprintf to use, can be undefined */
//#define MBEDTLS_PLATFORM_STD_PRINTF printf /< Default printf to use, can be undefined /
/ Note: your snprintf must correclty zero-terminate the buffer! */
//#define MBEDTLS_PLATFORM_STD_SNPRINTF snprintf /< Default snprintf to use, can be undefined */
//#define MBEDTLS_PLATFORM_STD_EXIT_SUCCESS 0 /< Default exit value to use, can be undefined */
//#define MBEDTLS_PLATFORM_STD_EXIT_FAILURE 1 /< Default exit value to use, can be undefined */
//#define MBEDTLS_PLATFORM_STD_NV_SEED_READ mbedtls_platform_std_nv_seed_read /< Default nv_seed_read function to use, can be undefined */
//#define MBEDTLS_PLATFORM_STD_NV_SEED_WRITE mbedtls_platform_std_nv_seed_write /< Default nv_seed_write function to use, can be undefined */
//#define MBEDTLS_PLATFORM_STD_NV_SEED_FILE “seedfile” /**< Seed file to read/write with default implementation */
/* To Use Function Macros MBEDTLS_PLATFORM_C must be enabled /
/ MBEDTLS_PLATFORM_XXX_MACRO and MBEDTLS_PLATFORM_XXX_ALT cannot both be defined */
//#define MBEDTLS_PLATFORM_CALLOC_MACRO calloc /< Default allocator macro to use, can be undefined */
//#define MBEDTLS_PLATFORM_FREE_MACRO free /< Default free macro to use, can be undefined */
//#define MBEDTLS_PLATFORM_EXIT_MACRO exit /< Default exit macro to use, can be undefined */
//#define MBEDTLS_PLATFORM_TIME_MACRO time /< Default time macro to use, can be undefined. MBEDTLS_HAVE_TIME must be enabled */
//#define MBEDTLS_PLATFORM_TIME_TYPE_MACRO time_t /< Default time macro to use, can be undefined. MBEDTLS_HAVE_TIME must be enabled */
//#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_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 */
/* SSL Cache options */
//#define MBEDTLS_SSL_CACHE_DEFAULT_TIMEOUT 86400 /< 1 day */
//#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 */
//#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 */
//#define MBEDTLS_SSL_CIPHERSUITES MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
/* X509 options */
//#define MBEDTLS_X509_MAX_INTERMEDIATE_CA 8 /< Maximum number of intermediate CAs in a verification chain. */
//#define MBEDTLS_X509_MAX_FILE_PATH_LEN 512 /< Maximum length of a path/filename string in bytes including the null terminator character (‘\0’). */
#define MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_KEY_EXCHANGE
//#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”
#if defined(TARGET_LIKE_MBED) && defined(YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE)
#include YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE
#endif
/*
- Allow user to override any previous default.
-
- Use two macro names for that, as:
-
- with yotta the prefix YOTTA_CFG_ is forced
-
- without yotta is looks weird to have a YOTTA prefix.
*/
#if defined(YOTTA_CFG_MBEDTLS_USER_CONFIG_FILE)
#include YOTTA_CFG_MBEDTLS_USER_CONFIG_FILE
#elif defined(MBEDTLS_USER_CONFIG_FILE)
#include MBEDTLS_USER_CONFIG_FILE
#endif
#include “check_config.h”
#endif /* MBEDTLS_CONFIG_H */