|
XenevaOS
|
#include "xeneva_psa_config.h"
Go to the source code of this file.
| #define MBEDTLS_AES_C |
| #define MBEDTLS_AES_ROM_TABLES |
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 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 MBEDTLS_AES_FEWER_TABLES below is used), and potentially degraded performance if ROM access is slower than RAM access.
This option is independent of MBEDTLS_AES_FEWER_TABLES.
| #define MBEDTLS_ASN1_PARSE_C |
| #define MBEDTLS_ASN1_WRITE_C |
| #define MBEDTLS_BASE64_C |
| #define MBEDTLS_BIGNUM_C |
| #define MBEDTLS_CHACHA20_C |
| #define MBEDTLS_CHACHAPOLY_C |
| #define MBEDTLS_CIPHER_C |
| #define MBEDTLS_CTR_DRBG_C |
| #define MBEDTLS_ECDH_C |
| #define MBEDTLS_ECDSA_C |
| #define MBEDTLS_ECP_C |
| #define MBEDTLS_ECP_DP_CURVE25519_ENABLED |
| #define MBEDTLS_ECP_DP_SECP256R1_ENABLED |
| #define MBEDTLS_ECP_DP_SECP384R1_ENABLED |
| #define MBEDTLS_ENTROPY_C |
| #define MBEDTLS_ENTROPY_HARDWARE_ALT |
Uncomment this macro to let Mbed TLS use your own implementation of a hardware entropy collector.
Your function must be called mbedtls_hardware_poll(), have the same prototype as declared in library/entropy_poll.h, and accept NULL as first argument.
Uncomment to use your own hardware entropy collector.
| #define MBEDTLS_GCM_C |
| #define MBEDTLS_HAVE_ASM |
XenevaOS client config for Mbed TLS 3.6. TLS 1.2 and TLS 1.3, certificate verification, no server and no DTLS. Apache-2.0 / GPL-2.0-or-later code stays in library/ and include/.
| #define MBEDTLS_HAVE_TIME |
| #define MBEDTLS_HAVE_TIME_DATE |
| #define MBEDTLS_HKDF_C |
| #define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED |
| #define MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED |
| #define MBEDTLS_MD_C |
| #define 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_OID_C |
| #define MBEDTLS_PEM_PARSE_C |
| #define MBEDTLS_PK_C |
| #define MBEDTLS_PK_PARSE_C |
| #define MBEDTLS_PKCS1_V15 |
| #define MBEDTLS_PKCS1_V21 |
| #define MBEDTLS_PLATFORM_C |
| #define MBEDTLS_PLATFORM_MEMORY |
Enable the memory allocation layer.
By default Mbed TLS uses the system-provided calloc() and free(). This allows different allocators (self-implemented or provided) to be provided to the platform abstraction layer.
Enabling MBEDTLS_PLATFORM_MEMORY without the MBEDTLS_PLATFORM_{FREE,CALLOC}_MACROs will provide "mbedtls_platform_set_calloc_free()" allowing you to set an alternative calloc() and free() function pointer at runtime.
Enabling MBEDTLS_PLATFORM_MEMORY and specifying MBEDTLS_PLATFORM_{CALLOC,FREE}_MACROs will allow you to specify the alternate function at compile time.
An overview of how the value of mbedtls_calloc is determined:
Defining MBEDTLS_PLATFORM_CALLOC_MACRO and MBEDTLS_PLATFORM_STD_CALLOC at the same time is not possible. MBEDTLS_PLATFORM_CALLOC_MACRO and MBEDTLS_PLATFORM_FREE_MACRO must both be defined or undefined at the same time. MBEDTLS_PLATFORM_STD_CALLOC and MBEDTLS_PLATFORM_STD_FREE do not have to be defined at the same time, as, if they are used, dynamic setup of these functions is possible. See the tree above to see how are they handled in all cases. An uninitialized MBEDTLS_PLATFORM_STD_CALLOC always fails, returning a null pointer. An uninitialized MBEDTLS_PLATFORM_STD_FREE does not do anything.
Requires: MBEDTLS_PLATFORM_C
Enable this layer to allow use of alternative memory allocators.
| #define MBEDTLS_PLATFORM_MS_TIME_ALT |
| #define MBEDTLS_POLY1305_C |
| #define MBEDTLS_PSA_CRYPTO_C |
| #define MBEDTLS_PSA_CRYPTO_CONFIG |
This setting allows support for cryptographic mechanisms through the PSA API to be configured separately from support through the mbedtls API.
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 mbedtls_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.
PSA_WANT_XXX symbols is not completely finalized yet, and the configuration tooling is not ideally adapted to having two separate configuration files. Future minor releases of Mbed TLS may make minor changes to those symbols, but we will endeavor to provide a transition path. Nonetheless, this option is considered mature enough to use in production, as long as you accept that you may need to make minor changes to psa/crypto_config.h when upgrading Mbed TLS. | #define MBEDTLS_RSA_C |
| #define MBEDTLS_SHA1_C |
| #define MBEDTLS_SHA256_C |
| #define MBEDTLS_SHA512_C |
| #define MBEDTLS_SSL_ALPN |
| #define MBEDTLS_SSL_CLI_C |
| #define MBEDTLS_SSL_KEEP_PEER_CERTIFICATE |
| #define MBEDTLS_SSL_PROTO_TLS1_2 |
| #define MBEDTLS_SSL_PROTO_TLS1_3 |
| #define MBEDTLS_SSL_SERVER_NAME_INDICATION |
| #define MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE |
| #define MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED |
| #define MBEDTLS_SSL_TLS_C |
| #define MBEDTLS_USE_PSA_CRYPTO |
Make the X.509 and TLS libraries use PSA for cryptographic operations as much as possible, and enable new APIs for using keys handled by PSA Crypto.
psa_crypto_init() before calling any function from the SSL/TLS, X.509 or PK modules, except for the various mbedtls_xxx_init() functions which can be called at any time.psa_xxx()), including indirect calls through SSL/TLS, X.509 or PK.Requires: MBEDTLS_PSA_CRYPTO_C.
Uncomment this to enable internal use of PSA Crypto and new associated APIs.
| #define MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE |
| #define MBEDTLS_X509_CHECK_KEY_USAGE |
| #define MBEDTLS_X509_CRT_PARSE_C |
| #define MBEDTLS_X509_RSASSA_PSS_SUPPORT |
| #define MBEDTLS_X509_USE_C |