mbed TLS v1.3.14
config.h
Go to the documentation of this file.
1 
28 #ifndef POLARSSL_CONFIG_H
29 #define POLARSSL_CONFIG_H
30 
31 #if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
32 #define _CRT_SECURE_NO_DEPRECATE 1
33 #endif
34 
53 //#define POLARSSL_HAVE_INT8
54 
66 //#define POLARSSL_HAVE_INT16
67 
74 #define POLARSSL_HAVE_LONGLONG
75 
90 #define POLARSSL_HAVE_ASM
91 
99 //#define POLARSSL_HAVE_SSE2
100 
108 #define POLARSSL_HAVE_TIME
109 
123 #define POLARSSL_HAVE_IPV6
124 
147 //#define POLARSSL_PLATFORM_MEMORY
148 
166 //#define POLARSSL_PLATFORM_NO_STD_FUNCTIONS
167 
189 //#define POLARSSL_PLATFORM_EXIT_ALT
190 //#define POLARSSL_PLATFORM_FPRINTF_ALT
191 //#define POLARSSL_PLATFORM_PRINTF_ALT
192 //#define POLARSSL_PLATFORM_SNPRINTF_ALT
193 
207 //#define POLARSSL_DEPRECATED_WARNING
208 
219 //#define POLARSSL_DEPRECATED_REMOVED
220 
221 /* \} name SECTION: System support */
222 
242 //#define POLARSSL_TIMING_ALT
243 
260 //#define POLARSSL_AES_ALT
261 //#define POLARSSL_ARC4_ALT
262 //#define POLARSSL_BLOWFISH_ALT
263 //#define POLARSSL_CAMELLIA_ALT
264 //#define POLARSSL_DES_ALT
265 //#define POLARSSL_XTEA_ALT
266 //#define POLARSSL_MD2_ALT
267 //#define POLARSSL_MD4_ALT
268 //#define POLARSSL_MD5_ALT
269 //#define POLARSSL_RIPEMD160_ALT
270 //#define POLARSSL_SHA1_ALT
271 //#define POLARSSL_SHA256_ALT
272 //#define POLARSSL_SHA512_ALT
273 
281 //#define POLARSSL_AES_ROM_TABLES
282 
290 //#define POLARSSL_CAMELLIA_SMALL_MEMORY
291 
297 #define POLARSSL_CIPHER_MODE_CBC
298 
304 #define POLARSSL_CIPHER_MODE_CFB
305 
311 #define POLARSSL_CIPHER_MODE_CTR
312 
344 //#define POLARSSL_CIPHER_NULL_CIPHER
345 
356 #define POLARSSL_CIPHER_PADDING_PKCS7
357 #define POLARSSL_CIPHER_PADDING_ONE_AND_ZEROS
358 #define POLARSSL_CIPHER_PADDING_ZEROS_AND_LEN
359 #define POLARSSL_CIPHER_PADDING_ZEROS
360 
374 //#define POLARSSL_ENABLE_WEAK_CIPHERSUITES
375 
387 //#define POLARSSL_REMOVE_ARC4_CIPHERSUITES
388 
397 #define POLARSSL_ECP_DP_SECP192R1_ENABLED
398 #define POLARSSL_ECP_DP_SECP224R1_ENABLED
399 #define POLARSSL_ECP_DP_SECP256R1_ENABLED
400 #define POLARSSL_ECP_DP_SECP384R1_ENABLED
401 #define POLARSSL_ECP_DP_SECP521R1_ENABLED
402 #define POLARSSL_ECP_DP_SECP192K1_ENABLED
403 #define POLARSSL_ECP_DP_SECP224K1_ENABLED
404 #define POLARSSL_ECP_DP_SECP256K1_ENABLED
405 #define POLARSSL_ECP_DP_BP256R1_ENABLED
406 #define POLARSSL_ECP_DP_BP384R1_ENABLED
407 #define POLARSSL_ECP_DP_BP512R1_ENABLED
408 //#define POLARSSL_ECP_DP_M221_ENABLED // Not implemented yet!
409 #define POLARSSL_ECP_DP_M255_ENABLED
410 //#define POLARSSL_ECP_DP_M383_ENABLED // Not implemented yet!
411 //#define POLARSSL_ECP_DP_M511_ENABLED // Not implemented yet!
412 
422 #define POLARSSL_ECP_NIST_OPTIM
423 
436 #define POLARSSL_ECDSA_DETERMINISTIC
437 
458 #define POLARSSL_KEY_EXCHANGE_PSK_ENABLED
459 
482 #define POLARSSL_KEY_EXCHANGE_DHE_PSK_ENABLED
483 
502 #define POLARSSL_KEY_EXCHANGE_ECDHE_PSK_ENABLED
503 
527 #define POLARSSL_KEY_EXCHANGE_RSA_PSK_ENABLED
528 
555 #define POLARSSL_KEY_EXCHANGE_RSA_ENABLED
556 
581 #define POLARSSL_KEY_EXCHANGE_DHE_RSA_ENABLED
582 
606 #define POLARSSL_KEY_EXCHANGE_ECDHE_RSA_ENABLED
607 
630 #define POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
631 
654 #define POLARSSL_KEY_EXCHANGE_ECDH_ECDSA_ENABLED
655 
678 #define POLARSSL_KEY_EXCHANGE_ECDH_RSA_ENABLED
679 
692 #define POLARSSL_PK_PARSE_EC_EXTENDED
693 
704 #define POLARSSL_ERROR_STRERROR_BC
705 
719 #define POLARSSL_ERROR_STRERROR_DUMMY
720 
728 #define POLARSSL_GENPRIME
729 
735 #define POLARSSL_FS_IO
736 
748 //#define POLARSSL_NO_DEFAULT_ENTROPY_SOURCES
749 
759 //#define POLARSSL_NO_PLATFORM_ENTROPY
760 
775 //#define POLARSSL_ENTROPY_FORCE_SHA256
776 
788 //#define POLARSSL_MEMORY_DEBUG
789 
800 //#define POLARSSL_MEMORY_BACKTRACE
801 
811 #define POLARSSL_PKCS1_V15
812 
822 #define POLARSSL_PKCS1_V21
823 
832 //#define POLARSSL_RSA_NO_CRT
833 
839 #define POLARSSL_SELF_TEST
840 
851 //#define POLARSSL_SSL_AEAD_RANDOM_IV
852 
865 #define POLARSSL_SSL_ALERT_MESSAGES
866 
881 //#define POLARSSL_SSL_DEBUG_ALL
882 
899 #define POLARSSL_SSL_ENCRYPT_THEN_MAC
900 
917 #define POLARSSL_SSL_EXTENDED_MASTER_SECRET
918 
934 #define POLARSSL_SSL_FALLBACK_SCSV
935 
944 //#define POLARSSL_SSL_HW_RECORD_ACCEL
945 
956 #define POLARSSL_SSL_CBC_RECORD_SPLITTING
957 
974 //#define POLARSSL_SSL_DISABLE_RENEGOTIATION
975 
984 #define POLARSSL_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO
985 
994 //#define POLARSSL_SSL_SRV_RESPECT_CLIENT_PREFERENCE
995 
1003 #define POLARSSL_SSL_MAX_FRAGMENT_LENGTH
1004 
1015 #define POLARSSL_SSL_PROTO_SSL3
1016 
1027 #define POLARSSL_SSL_PROTO_TLS1
1028 
1039 #define POLARSSL_SSL_PROTO_TLS1_1
1040 
1051 #define POLARSSL_SSL_PROTO_TLS1_2
1052 
1060 #define POLARSSL_SSL_ALPN
1061 
1073 #define POLARSSL_SSL_SESSION_TICKETS
1074 
1084 #define POLARSSL_SSL_SERVER_NAME_INDICATION
1085 
1093 #define POLARSSL_SSL_TRUNCATED_HMAC
1094 
1107 //#define POLARSSL_SSL_SET_CURVES
1108 
1118 //#define POLARSSL_THREADING_ALT
1119 
1129 //#define POLARSSL_THREADING_PTHREAD
1130 
1142 #define POLARSSL_VERSION_FEATURES
1143 
1152 //#define POLARSSL_X509_ALLOW_EXTENSIONS_NON_V3
1153 
1164 //#define POLARSSL_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION
1165 
1178 #define POLARSSL_X509_CHECK_KEY_USAGE
1179 
1191 #define POLARSSL_X509_CHECK_EXTENDED_KEY_USAGE
1192 
1201 #define POLARSSL_X509_RSASSA_PSS_SUPPORT
1202 
1221 //#define POLARSSL_ZLIB_SUPPORT
1222 /* \} name SECTION: mbed TLS feature support */
1223 
1243 #define POLARSSL_AESNI_C
1244 
1318 #define POLARSSL_AES_C
1319 
1341 #define POLARSSL_ARC4_C
1342 
1355 #define POLARSSL_ASN1_PARSE_C
1356 
1369 #define POLARSSL_ASN1_WRITE_C
1370 
1381 #define POLARSSL_BASE64_C
1382 
1397 #define POLARSSL_BIGNUM_C
1398 
1406 #define POLARSSL_BLOWFISH_C
1407 
1461 #define POLARSSL_CAMELLIA_C
1462 
1475 #define POLARSSL_CCM_C
1476 
1489 #define POLARSSL_CERTS_C
1490 
1501 #define POLARSSL_CIPHER_C
1502 
1515 #define POLARSSL_CTR_DRBG_C
1516 
1529 #define POLARSSL_DEBUG_C
1530 
1555 #define POLARSSL_DES_C
1556 
1569 #define POLARSSL_DHM_C
1570 
1585 #define POLARSSL_ECDH_C
1586 
1600 #define POLARSSL_ECDSA_C
1601 
1613 #define POLARSSL_ECP_C
1614 
1627 #define POLARSSL_ENTROPY_C
1628 
1639 #define POLARSSL_ERROR_C
1640 
1653 #define POLARSSL_GCM_C
1654 
1676 //#define POLARSSL_HAVEGE_C
1677 
1690 #define POLARSSL_HMAC_DRBG_C
1691 
1702 #define POLARSSL_MD_C
1703 
1714 //#define POLARSSL_MD2_C
1715 
1726 //#define POLARSSL_MD4_C
1727 
1741 #define POLARSSL_MD5_C
1742 
1750 //#define POLARSSL_MEMORY_C
1751 
1766 //#define POLARSSL_MEMORY_BUFFER_ALLOC_C
1767 
1780 #define POLARSSL_NET_C
1781 
1803 #define POLARSSL_OID_C
1804 
1817 #define POLARSSL_PADLOCK_C
1818 
1832 #define POLARSSL_PBKDF2_C
1833 
1850 #define POLARSSL_PEM_PARSE_C
1851 
1866 #define POLARSSL_PEM_WRITE_C
1867 
1882 #define POLARSSL_PK_C
1883 
1897 #define POLARSSL_PK_PARSE_C
1898 
1911 #define POLARSSL_PK_WRITE_C
1912 
1924 #define POLARSSL_PKCS5_C
1925 
1939 //#define POLARSSL_PKCS11_C
1940 
1955 #define POLARSSL_PKCS12_C
1956 
1972 #define POLARSSL_PLATFORM_C
1973 
1983 #define POLARSSL_RIPEMD160_C
1984 
2001 #define POLARSSL_RSA_C
2002 
2017 #define POLARSSL_SHA1_C
2018 
2035 #define POLARSSL_SHA256_C
2036 
2051 #define POLARSSL_SHA512_C
2052 
2063 #define POLARSSL_SSL_CACHE_C
2064 
2077 #define POLARSSL_SSL_CLI_C
2078 
2091 #define POLARSSL_SSL_SRV_C
2092 
2107 #define POLARSSL_SSL_TLS_C
2108 
2128 //#define POLARSSL_THREADING_C
2129 
2140 #define POLARSSL_TIMING_C
2141 
2151 #define POLARSSL_VERSION_C
2152 
2168 #define POLARSSL_X509_USE_C
2169 
2184 #define POLARSSL_X509_CRT_PARSE_C
2185 
2198 #define POLARSSL_X509_CRL_PARSE_C
2199 
2212 #define POLARSSL_X509_CSR_PARSE_C
2213 
2225 #define POLARSSL_X509_CREATE_C
2226 
2238 #define POLARSSL_X509_CRT_WRITE_C
2239 
2251 #define POLARSSL_X509_CSR_WRITE_C
2252 
2261 #define POLARSSL_XTEA_C
2262 
2263 /* \} name SECTION: mbed TLS modules */
2264 
2280 /* MPI / BIGNUM options */
2281 //#define POLARSSL_MPI_WINDOW_SIZE 6 /**< Maximum windows size used. */
2282 //#define POLARSSL_MPI_MAX_SIZE 1024 /**< Maximum number of bytes for usable MPIs. */
2283 
2284 /* CTR_DRBG options */
2285 //#define CTR_DRBG_ENTROPY_LEN 48 /**< Amount of entropy used per seed by default (48 with SHA-512, 32 with SHA-256) */
2286 //#define CTR_DRBG_RESEED_INTERVAL 10000 /**< Interval before reseed is performed by default */
2287 //#define CTR_DRBG_MAX_INPUT 256 /**< Maximum number of additional input bytes */
2288 //#define CTR_DRBG_MAX_REQUEST 1024 /**< Maximum number of requested bytes per call */
2289 //#define CTR_DRBG_MAX_SEED_INPUT 384 /**< Maximum size of (re)seed buffer */
2290 
2291 /* HMAC_DRBG options */
2292 //#define POLARSSL_HMAC_DRBG_RESEED_INTERVAL 10000 /**< Interval before reseed is performed by default */
2293 //#define POLARSSL_HMAC_DRBG_MAX_INPUT 256 /**< Maximum number of additional input bytes */
2294 //#define POLARSSL_HMAC_DRBG_MAX_REQUEST 1024 /**< Maximum number of requested bytes per call */
2295 //#define POLARSSL_HMAC_DRBG_MAX_SEED_INPUT 384 /**< Maximum size of (re)seed buffer */
2296 
2297 /* ECP options */
2298 //#define POLARSSL_ECP_MAX_BITS 521 /**< Maximum bit size of groups */
2299 //#define POLARSSL_ECP_WINDOW_SIZE 6 /**< Maximum window size used */
2300 //#define POLARSSL_ECP_FIXED_POINT_OPTIM 1 /**< Enable fixed-point speed-up */
2301 
2302 /* Entropy options */
2303 //#define ENTROPY_MAX_SOURCES 20 /**< Maximum number of sources supported */
2304 //#define ENTROPY_MAX_GATHER 128 /**< Maximum amount requested from entropy sources */
2305 
2306 /* Memory buffer allocator options */
2307 //#define POLARSSL_MEMORY_ALIGN_MULTIPLE 4 /**< Align on multiples of this value */
2308 
2309 /* Platform options */
2310 //#define POLARSSL_PLATFORM_STD_MEM_HDR <stdlib.h> /**< Header to include if POLARSSL_PLATFORM_NO_STD_FUNCTIONS is defined. Don't define if no header is needed. */
2311 //#define POLARSSL_PLATFORM_STD_MALLOC malloc /**< Default allocator to use, can be undefined */
2312 //#define POLARSSL_PLATFORM_STD_FREE free /**< Default free to use, can be undefined */
2313 //#define POLARSSL_PLATFORM_STD_EXIT exit /**< Default exit to use, can be undefined */
2314 //#define POLARSSL_PLATFORM_STD_FPRINTF fprintf /**< Default fprintf to use, can be undefined */
2315 //#define POLARSSL_PLATFORM_STD_PRINTF printf /**< Default printf to use, can be undefined */
2316 //#define POLARSSL_PLATFORM_STD_SNPRINTF snprintf /**< Default snprintf to use, can be undefined */
2317 
2318 /* To Use Function Macros POLARSSL_PLATFORM_C must be enabled */
2319 /* POLARSSL_PLATFORM_XXX_MACRO and POLARSSL_PLATFORM_XXX_ALT cannot both be defined */
2320 //#define POLARSSL_PLATFORM_MALLOC_MACRO malloc /**< Default allocator macro to use, can be undefined */
2321 //#define POLARSSL_PLATFORM_FREE_MACRO free /**< Default free macro to use, can be undefined */
2322 //#define POLARSSL_PLATFORM_EXIT_MACRO exit /**< Default exit macro to use, can be undefined */
2323 //#define POLARSSL_PLATFORM_FPRINTF_MACRO fprintf /**< Default fprintf macro to use, can be undefined */
2324 //#define POLARSSL_PLATFORM_PRINTF_MACRO printf /**< Default printf macro to use, can be undefined */
2325 //#define POLARSSL_PLATFORM_SNPRINTF_MACRO snprintf /**< Default snprintf macro to use, can be undefined */
2326 
2327 /* SSL Cache options */
2328 //#define SSL_CACHE_DEFAULT_TIMEOUT 86400 /**< 1 day */
2329 //#define SSL_CACHE_DEFAULT_MAX_ENTRIES 50 /**< Maximum entries in cache */
2330 
2331 /* SSL options */
2332 //#define SSL_MAX_CONTENT_LEN 16384 /**< Size of the input / output buffer */
2333 //#define SSL_MIN_DHM_BYTES 128 /**< Min size of the Diffie-Hellman prime */
2334 //#define SSL_DEFAULT_TICKET_LIFETIME 86400 /**< Lifetime of session tickets (if enabled) */
2335 //#define POLARSSL_PSK_MAX_LEN 32 /**< Max size of TLS pre-shared keys, in bytes (default 256 bits) */
2336 
2349 //#define SSL_CIPHERSUITES TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
2350 
2351 /* Debug options */
2352 //#define POLARSSL_DEBUG_DFL_MODE POLARSSL_DEBUG_LOG_FULL /**< Default log: Full or Raw */
2353 
2354 /* X509 options */
2355 //#define POLARSSL_X509_MAX_INTERMEDIATE_CA 8 /**< Maximum number of intermediate CAs in a verification chain. */
2356 
2357 /* \} name SECTION: Module configuration options */
2358 
2359 #include "check_config.h"
2360 
2361 #endif /* POLARSSL_CONFIG_H */
Consistency checks for configuration options.