MBEDTLS_PK_RSA_ALT_SUPPORT macro
\def MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES Do not add default entropy sources in mbedtls_entropy_init(). This is useful to have more control over the added entropy sources in an application. Uncomment this macro to prevent loading of default entropy functions. \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. \def MBEDTLS_ENTROPY_FORCE_SHA256 Force the entropy accumulator to use a SHA-256 accumulator instead of the default SHA-512 based one (if both are available). Requires: MBEDTLS_SHA256_C On 32-bit systems SHA-256 can be much faster than SHA-512. Use this option if you have performance concerns. This option is only useful if both MBEDTLS_SHA256_C and MBEDTLS_SHA512_C are defined. Otherwise the available hash module is used. \def MBEDTLS_ENTROPY_NV_SEED Enable the non-volatile (NV) seed file-based entropy source. (Also enables the NV seed read/write functions in the platform layer) This is crucial (if not required) on systems that do not have a cryptographic entropy source (in hardware or kernel) available. Requires: MBEDTLS_ENTROPY_C, MBEDTLS_PLATFORM_C \def MBEDTLS_MEMORY_DEBUG Enable debugging of buffer allocator memory issues. Automatically prints (to stderr) all (fatal) messages on memory allocation issues. Enables function for 'debug output' of allocated memory. Requires: MBEDTLS_MEMORY_BUFFER_ALLOC_C Uncomment this macro to let the buffer allocator print out error messages. \def MBEDTLS_MEMORY_BACKTRACE Include backtrace information with each allocated block. Requires: MBEDTLS_MEMORY_BUFFER_ALLOC_C GLIBC-compatible backtrace() and backtrace_symbols() support Uncomment this macro to include backtrace information \def MBEDTLS_PK_RSA_ALT_SUPPORT Support external private RSA keys (eg from a HSM) in the PK layer. Comment this macro to disable support for external private RSA keys.
Syntax
#define MBEDTLS_PK_RSA_ALT_SUPPORT
Notes
The read/write functions that are used by the entropy source are determined in the platform layer, and can be modified at runtime and/or compile-time depending on the flags (MBEDTLS_PLATFORM_NV_SEED_*) used. If you use the default implementation functions that read a seedfile with regular fopen(), please make sure you make a seedfile with the proper name (defined in MBEDTLS_PLATFORM_STD_NV_SEED_FILE) and at least MBEDTLS_ENTROPY_BLOCK_SIZE bytes in size that can be read from and written to or you will get an entropy source error! The default implementation will only use the first MBEDTLS_ENTROPY_BLOCK_SIZE bytes from the file. The entropy collector will write to the seed file before entropy is given to an external source, to update it.