143 lines
4.6 KiB
C++
143 lines
4.6 KiB
C++
|
/**
|
||
|
* \file mbedtls/config_adjust_psa_superset_legacy.h
|
||
|
* \brief Adjust PSA configuration: automatic enablement from legacy
|
||
|
*
|
||
|
* To simplify some edge cases, we automatically enable certain cryptographic
|
||
|
* mechanisms in the PSA API if they are enabled in the legacy API. The general
|
||
|
* idea is that if legacy module M uses mechanism A internally, and A has
|
||
|
* both a legacy and a PSA implementation, we enable A through PSA whenever
|
||
|
* it's enabled through legacy. This facilitates the transition to PSA
|
||
|
* implementations of A for users of M.
|
||
|
*/
|
||
|
/*
|
||
|
* Copyright The Mbed TLS Contributors
|
||
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||
|
*/
|
||
|
|
||
|
#ifndef MBEDTLS_CONFIG_ADJUST_PSA_SUPERSET_LEGACY_H
|
||
|
#define MBEDTLS_CONFIG_ADJUST_PSA_SUPERSET_LEGACY_H
|
||
|
|
||
|
/****************************************************************/
|
||
|
/* Hashes that are built in are also enabled in PSA.
|
||
|
* This simplifies dependency declarations especially
|
||
|
* for modules that obey MBEDTLS_USE_PSA_CRYPTO. */
|
||
|
/****************************************************************/
|
||
|
|
||
|
#if defined(MBEDTLS_MD5_C)
|
||
|
#define PSA_WANT_ALG_MD5 1
|
||
|
#endif
|
||
|
|
||
|
#if defined(MBEDTLS_RIPEMD160_C)
|
||
|
#define PSA_WANT_ALG_RIPEMD160 1
|
||
|
#endif
|
||
|
|
||
|
#if defined(MBEDTLS_SHA1_C)
|
||
|
#define PSA_WANT_ALG_SHA_1 1
|
||
|
#endif
|
||
|
|
||
|
#if defined(MBEDTLS_SHA224_C)
|
||
|
#define PSA_WANT_ALG_SHA_224 1
|
||
|
#endif
|
||
|
|
||
|
#if defined(MBEDTLS_SHA256_C)
|
||
|
#define PSA_WANT_ALG_SHA_256 1
|
||
|
#endif
|
||
|
|
||
|
#if defined(MBEDTLS_SHA384_C)
|
||
|
#define PSA_WANT_ALG_SHA_384 1
|
||
|
#endif
|
||
|
|
||
|
#if defined(MBEDTLS_SHA512_C)
|
||
|
#define PSA_WANT_ALG_SHA_512 1
|
||
|
#endif
|
||
|
|
||
|
#if defined(MBEDTLS_SHA3_C)
|
||
|
#define PSA_WANT_ALG_SHA3_224 1
|
||
|
#define PSA_WANT_ALG_SHA3_256 1
|
||
|
#define PSA_WANT_ALG_SHA3_384 1
|
||
|
#define PSA_WANT_ALG_SHA3_512 1
|
||
|
#endif
|
||
|
|
||
|
/* Ensure that the PSA's supported curves (PSA_WANT_ECC_xxx) are always a
|
||
|
* superset of the builtin ones (MBEDTLS_ECP_DP_xxx). */
|
||
|
#if defined(MBEDTLS_ECP_DP_BP256R1_ENABLED)
|
||
|
#if !defined(PSA_WANT_ECC_BRAINPOOL_P_R1_256)
|
||
|
#define PSA_WANT_ECC_BRAINPOOL_P_R1_256 1
|
||
|
#endif /* PSA_WANT_ECC_BRAINPOOL_P_R1_256 */
|
||
|
#endif /* MBEDTLS_ECP_DP_BP256R1_ENABLED */
|
||
|
|
||
|
#if defined(MBEDTLS_ECP_DP_BP384R1_ENABLED)
|
||
|
#if !defined(PSA_WANT_ECC_BRAINPOOL_P_R1_384)
|
||
|
#define PSA_WANT_ECC_BRAINPOOL_P_R1_384 1
|
||
|
#endif /* PSA_WANT_ECC_BRAINPOOL_P_R1_384 */
|
||
|
#endif /*MBEDTLS_ECP_DP_BP384R1_ENABLED */
|
||
|
|
||
|
#if defined(MBEDTLS_ECP_DP_BP512R1_ENABLED)
|
||
|
#if !defined(PSA_WANT_ECC_BRAINPOOL_P_R1_512)
|
||
|
#define PSA_WANT_ECC_BRAINPOOL_P_R1_512 1
|
||
|
#endif /* PSA_WANT_ECC_BRAINPOOL_P_R1_512 */
|
||
|
#endif /* MBEDTLS_ECP_DP_BP512R1_ENABLED */
|
||
|
|
||
|
#if defined(MBEDTLS_ECP_DP_CURVE25519_ENABLED)
|
||
|
#if !defined(PSA_WANT_ECC_MONTGOMERY_255)
|
||
|
#define PSA_WANT_ECC_MONTGOMERY_255 1
|
||
|
#endif /* PSA_WANT_ECC_MONTGOMERY_255 */
|
||
|
#endif /* MBEDTLS_ECP_DP_CURVE25519_ENABLED */
|
||
|
|
||
|
#if defined(MBEDTLS_ECP_DP_CURVE448_ENABLED)
|
||
|
#if !defined(PSA_WANT_ECC_MONTGOMERY_448)
|
||
|
#define PSA_WANT_ECC_MONTGOMERY_448 1
|
||
|
#endif /* PSA_WANT_ECC_MONTGOMERY_448 */
|
||
|
#endif /* MBEDTLS_ECP_DP_CURVE448_ENABLED */
|
||
|
|
||
|
#if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED)
|
||
|
#if !defined(PSA_WANT_ECC_SECP_R1_192)
|
||
|
#define PSA_WANT_ECC_SECP_R1_192 1
|
||
|
#endif /* PSA_WANT_ECC_SECP_R1_192 */
|
||
|
#endif /* MBEDTLS_ECP_DP_SECP192R1_ENABLED */
|
||
|
|
||
|
#if defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED)
|
||
|
#if !defined(PSA_WANT_ECC_SECP_R1_224)
|
||
|
#define PSA_WANT_ECC_SECP_R1_224 1
|
||
|
#endif /* PSA_WANT_ECC_SECP_R1_224 */
|
||
|
#endif /* MBEDTLS_ECP_DP_SECP224R1_ENABLED */
|
||
|
|
||
|
#if defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED)
|
||
|
#if !defined(PSA_WANT_ECC_SECP_R1_256)
|
||
|
#define PSA_WANT_ECC_SECP_R1_256 1
|
||
|
#endif /* PSA_WANT_ECC_SECP_R1_256 */
|
||
|
#endif /* MBEDTLS_ECP_DP_SECP256R1_ENABLED */
|
||
|
|
||
|
#if defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED)
|
||
|
#if !defined(PSA_WANT_ECC_SECP_R1_384)
|
||
|
#define PSA_WANT_ECC_SECP_R1_384 1
|
||
|
#endif /* PSA_WANT_ECC_SECP_R1_384 */
|
||
|
#endif /* MBEDTLS_ECP_DP_SECP384R1_ENABLED */
|
||
|
|
||
|
#if defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED)
|
||
|
#if !defined(PSA_WANT_ECC_SECP_R1_521)
|
||
|
#define PSA_WANT_ECC_SECP_R1_521 1
|
||
|
#endif /* PSA_WANT_ECC_SECP_R1_521 */
|
||
|
#endif /* MBEDTLS_ECP_DP_SECP521R1_ENABLED */
|
||
|
|
||
|
#if defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED)
|
||
|
#if !defined(PSA_WANT_ECC_SECP_K1_192)
|
||
|
#define PSA_WANT_ECC_SECP_K1_192 1
|
||
|
#endif /* PSA_WANT_ECC_SECP_K1_192 */
|
||
|
#endif /* MBEDTLS_ECP_DP_SECP192K1_ENABLED */
|
||
|
|
||
|
/* SECP224K1 is buggy via the PSA API (https://github.com/Mbed-TLS/mbedtls/issues/3541) */
|
||
|
#if 0 && defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED)
|
||
|
#if !defined(PSA_WANT_ECC_SECP_K1_224)
|
||
|
#define PSA_WANT_ECC_SECP_K1_224 1
|
||
|
#endif /* PSA_WANT_ECC_SECP_K1_224 */
|
||
|
#endif /* MBEDTLS_ECP_DP_SECP224K1_ENABLED */
|
||
|
|
||
|
#if defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED)
|
||
|
#if !defined(PSA_WANT_ECC_SECP_K1_256)
|
||
|
#define PSA_WANT_ECC_SECP_K1_256 1
|
||
|
#endif /* PSA_WANT_ECC_SECP_K1_256 */
|
||
|
#endif /* MBEDTLS_ECP_DP_SECP256K1_ENABLED */
|
||
|
|
||
|
#endif /* MBEDTLS_CONFIG_ADJUST_PSA_SUPERSET_LEGACY_H */
|