15#ifndef MBEDTLS_CONFIG_H
16#define MBEDTLS_CONFIG_H
18#if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
19#define _CRT_SECURE_NO_DEPRECATE 1
47#define MBEDTLS_HAVE_ASM
126#define MBEDTLS_HAVE_TIME
147#define MBEDTLS_HAVE_TIME_DATE
308#define MBEDTLS_DEPRECATED_WARNING
711#define MBEDTLS_CIPHER_MODE_CBC
718#define MBEDTLS_CIPHER_MODE_CFB
725#define MBEDTLS_CIPHER_MODE_CTR
732#define MBEDTLS_CIPHER_MODE_OFB
739#define MBEDTLS_CIPHER_MODE_XTS
785#define MBEDTLS_CIPHER_PADDING_PKCS7
786#define MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS
787#define MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN
788#define MBEDTLS_CIPHER_PADDING_ZEROS
826#define MBEDTLS_REMOVE_ARC4_CIPHERSUITES
846#define MBEDTLS_REMOVE_3DES_CIPHERSUITES
869#define MBEDTLS_ECP_DP_SECP192R1_ENABLED
870#define MBEDTLS_ECP_DP_SECP224R1_ENABLED
871#define MBEDTLS_ECP_DP_SECP256R1_ENABLED
872#define MBEDTLS_ECP_DP_SECP384R1_ENABLED
873#define MBEDTLS_ECP_DP_SECP521R1_ENABLED
874#define MBEDTLS_ECP_DP_SECP192K1_ENABLED
875#define MBEDTLS_ECP_DP_SECP224K1_ENABLED
876#define MBEDTLS_ECP_DP_SECP256K1_ENABLED
877#define MBEDTLS_ECP_DP_BP256R1_ENABLED
878#define MBEDTLS_ECP_DP_BP384R1_ENABLED
879#define MBEDTLS_ECP_DP_BP512R1_ENABLED
881#define MBEDTLS_ECP_DP_CURVE25519_ENABLED
882#define MBEDTLS_ECP_DP_CURVE448_ENABLED
893#define MBEDTLS_ECP_NIST_OPTIM
993#define MBEDTLS_ECDH_LEGACY_CONTEXT
1007#define MBEDTLS_ECDSA_DETERMINISTIC
1029#define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
1060#define MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED
1080#define MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1105#define MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
1133#define MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
1166#define MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED
1191#define MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
1215#define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
1239#define MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED
1263#define MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
1296#define MBEDTLS_PK_PARSE_EC_EXTENDED
1311#define MBEDTLS_ERROR_STRERROR_DUMMY
1320#define MBEDTLS_GENPRIME
1327#define MBEDTLS_FS_IO
1441#define MBEDTLS_PK_RSA_ALT_SUPPORT
1452#define MBEDTLS_PKCS1_V15
1463#define MBEDTLS_PKCS1_V21
1589#define MBEDTLS_SELF_TEST
1641#define MBEDTLS_SSL_ALL_ALERT_MESSAGES
1655#define MBEDTLS_SSL_RECORD_CHECKING
1723#define MBEDTLS_SSL_CONTEXT_SERIALIZATION
1757#define MBEDTLS_SSL_ENCRYPT_THEN_MAC
1775#define MBEDTLS_SSL_EXTENDED_MASTER_SECRET
1793#define MBEDTLS_SSL_FALLBACK_SCSV
1815#define MBEDTLS_SSL_KEEP_PEER_CERTIFICATE
1840#define MBEDTLS_SSL_CBC_RECORD_SPLITTING
1862#define MBEDTLS_SSL_RENEGOTIATION
1894#define MBEDTLS_SSL_MAX_FRAGMENT_LENGTH
1921#define MBEDTLS_SSL_PROTO_TLS1
1933#define MBEDTLS_SSL_PROTO_TLS1_1
1945#define MBEDTLS_SSL_PROTO_TLS1_2
1979#define MBEDTLS_SSL_PROTO_DTLS
1988#define MBEDTLS_SSL_ALPN
2003#define MBEDTLS_SSL_DTLS_ANTI_REPLAY
2021#define MBEDTLS_SSL_DTLS_HELLO_VERIFY
2052#define MBEDTLS_SSL_DTLS_SRTP
2068#define MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE
2079#define MBEDTLS_SSL_DTLS_BADMAC_LIMIT
2093#define MBEDTLS_SSL_SESSION_TICKETS
2103#define MBEDTLS_SSL_EXPORT_KEYS
2114#define MBEDTLS_SSL_SERVER_NAME_INDICATION
2123#define MBEDTLS_SSL_TRUNCATED_HMAC
2252#define MBEDTLS_THREADING_PTHREAD
2319#define MBEDTLS_VERSION_FEATURES
2374#define MBEDTLS_X509_CHECK_KEY_USAGE
2387#define MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE
2397#define MBEDTLS_X509_RSASSA_PSS_SUPPORT
2462#define MBEDTLS_AESNI_C
2537#define MBEDTLS_AES_C
2565#define MBEDTLS_ARC4_C
2579#define MBEDTLS_ASN1_PARSE_C
2593#define MBEDTLS_ASN1_WRITE_C
2605#define MBEDTLS_BASE64_C
2622#define MBEDTLS_BIGNUM_C
2631#define MBEDTLS_BLOWFISH_C
2686#define MBEDTLS_CAMELLIA_C
2752#define MBEDTLS_CCM_C
2764#define MBEDTLS_CERTS_C
2773#define MBEDTLS_CHACHA20_C
2784#define MBEDTLS_CHACHAPOLY_C
2796#define MBEDTLS_CIPHER_C
2814#define MBEDTLS_CMAC_C
2834#define MBEDTLS_CTR_DRBG_C
2848#define MBEDTLS_DEBUG_C
2877#define MBEDTLS_DES_C
2898#define MBEDTLS_DHM_C
2914#define MBEDTLS_ECDH_C
2931#define MBEDTLS_ECDSA_C
2964#define MBEDTLS_ECP_C
2978#define MBEDTLS_ENTROPY_C
2990#define MBEDTLS_ERROR_C
3004#define MBEDTLS_GCM_C
3027#define MBEDTLS_HAVEGE_C
3042#define MBEDTLS_HKDF_C
3056#define MBEDTLS_HMAC_DRBG_C
3098#define MBEDTLS_MD2_C
3115#define MBEDTLS_MD4_C
3137#define MBEDTLS_MD5_C
3172#define MBEDTLS_NET_C
3195#define MBEDTLS_OID_C
3209#define MBEDTLS_PADLOCK_C
3227#define MBEDTLS_PEM_PARSE_C
3243#define MBEDTLS_PEM_WRITE_C
3274#define MBEDTLS_PK_PARSE_C
3288#define MBEDTLS_PK_WRITE_C
3301#define MBEDTLS_PKCS5_C
3335#define MBEDTLS_PKCS12_C
3355#define MBEDTLS_PLATFORM_C
3365#define MBEDTLS_POLY1305_C
3379#define MBEDTLS_PSA_CRYPTO_C
3408#define MBEDTLS_PSA_CRYPTO_STORAGE_C
3420#define MBEDTLS_PSA_ITS_FILE_C
3431#define MBEDTLS_RIPEMD160_C
3450#define MBEDTLS_RSA_C
3472#define MBEDTLS_SHA1_C
3489#define MBEDTLS_SHA256_C
3504#define MBEDTLS_SHA512_C
3516#define MBEDTLS_SSL_CACHE_C
3526#define MBEDTLS_SSL_COOKIE_C
3539#define MBEDTLS_SSL_TICKET_C
3553#define MBEDTLS_SSL_CLI_C
3567#define MBEDTLS_SSL_SRV_C
3583#define MBEDTLS_SSL_TLS_C
3605#define MBEDTLS_THREADING_C
3632#define MBEDTLS_TIMING_C
3643#define MBEDTLS_VERSION_C
3660#define MBEDTLS_X509_USE_C
3676#define MBEDTLS_X509_CRT_PARSE_C
3690#define MBEDTLS_X509_CRL_PARSE_C
3704#define MBEDTLS_X509_CSR_PARSE_C
3717#define MBEDTLS_X509_CREATE_C
3730#define MBEDTLS_X509_CRT_WRITE_C
3743#define MBEDTLS_X509_CSR_WRITE_C
3753#define MBEDTLS_XTEA_C
4207#if defined(MBEDTLS_USER_CONFIG_FILE)
4208#include MBEDTLS_USER_CONFIG_FILE
4211#if defined(MBEDTLS_PSA_CRYPTO_CONFIG)
Consistency checks for configuration options.
PSA crypto configuration options (set of defines)