From 2dfaf9ca23f6c36a3d6824e5572f04a2c75c4288 Mon Sep 17 00:00:00 2001 From: John Durkop Date: Thu, 24 Sep 2020 04:30:10 -0700 Subject: [PATCH] Update how MBEDTLS_PSA_CRYPTO_CONFIG is handled Originally, MBEDTLS_PSA_CRYPTO_CONFIG was being used to allow inclusion of mbedlts/config_psa.h, but that needed to be updated so that mbedtls/config_psa.h is always included and the definitions specific to PSA configuration are now guarded by MBEDTLS_PSA_CRYPTO_CONFIG. This will allow for the standard setup to continue working while new PSA configuration items to also work. Signed-off-by: John Durkop --- include/mbedtls/config.h | 3 --- include/mbedtls/config_psa.h | 23 +++++++++++++---------- include/psa/crypto_config.h | 7 +++++++ 3 files changed, 20 insertions(+), 13 deletions(-) diff --git a/include/mbedtls/config.h b/include/mbedtls/config.h index 4e2185d004..902d0cbe8e 100644 --- a/include/mbedtls/config.h +++ b/include/mbedtls/config.h @@ -3824,10 +3824,7 @@ * \name SECTION: PSA Crypto settings * */ -#if defined(MBEDTLS_PSA_CRYPTO_CONFIG) #include "mbedtls/config_psa.h" -#endif /* MBEDTLS_PSA_CRYPTO_CONFIG */ - #include "mbedtls/check_config.h" diff --git a/include/mbedtls/config_psa.h b/include/mbedtls/config_psa.h index 376834a22f..528e215031 100644 --- a/include/mbedtls/config_psa.h +++ b/include/mbedtls/config_psa.h @@ -32,22 +32,25 @@ extern "C" { #endif -//#define PSA_WANT_ALG_ECDSA -//#define MBEDTLS_PSA_ACCEL_ALG_ECDSA -//#define PSA_WANT_ALG_ECDSA_DETERMINISTIC -//#define MBEDTLS_PSA_ACCEL_ALG_ECDSA_DETERMINISTIC +#if defined(MBEDTLS_PSA_CRYPTO_CONFIG) -#if defined(PSA_WANT_ALG_ECDSA) && !defined(MBEDTLS_PSA_ACCEL_ALG_ECDSA) +#if defined(PSA_WANT_ALG_ECDSA) +#if !defined(MBEDTLS_PSA_ACCEL_ALG_ECDSA) #define MBEDTLS_PSA_BUILTIN_ALG_ECDSA -#else /* defined(PSA_WANT_ALG_ECDSA) && !defined(MBEDTLS_PSA_ACCEL_ALG_ECDSA)*/ +#else /* !defined(MBEDTLS_PSA_ACCEL_ALG_ECDSA) */ #define MBEDTLS_ECDSA_C -#endif /* defined(PSA_WANT_ALG_ECDSA) && !defined(MBEDTLS_PSA_ACCEL_ALG_ECDSA)*/ +#endif /* !defined(MBEDTLS_PSA_ACCEL_ALG_ECDSA) */ +#endif /* defined(PSA_WANT_ALG_ECDSA) */ -#if defined(PSA_WANT_ALG_DETERMINISTIC_ECDSA) && !defined(MBEDTLS_PSA_ACCEL_ALG_ECDSA_DETERMINISTIC) +#if defined(PSA_WANT_ALG_DETERMINISTIC_ECDSA) +#if !defined(MBEDTLS_PSA_ACCEL_ALG_ECDSA_DETERMINISTIC) #define MBEDTLS_PSA_BUILTIN_ALG_DETERMINISTIC_ECDSA -#else /* defined(PSA_WANT_ALG_DETERMINISTIC_ECDSA) && !defined(MBEDTLS_PSA_ACCEL_ALG_ECDSA_DETERMINISTIC) */ +#else /* && !defined(MBEDTLS_PSA_ACCEL_ALG_ECDSA_DETERMINISTIC) */ #define MBEDTLS_ECDSA_DETERMINISTIC -#endif /* defined(PSA_WANT_ALG_DETERMINISTIC_ECDSA) && !defined(MBEDTLS_PSA_ACCEL_ALG_ECDSA_DETERMINISTIC) */ +#endif /* !defined(MBEDTLS_PSA_ACCEL_ALG_ECDSA_DETERMINISTIC) */ +#endif /* defined(PSA_WANT_ALG_DETERMINISTIC_ECDSA) */ + +#endif /* MBEDTLS_PSA_CRYPTO_CONFIG */ #ifdef __cplusplus } diff --git a/include/psa/crypto_config.h b/include/psa/crypto_config.h index fa83f9a112..8e2f40ed86 100644 --- a/include/psa/crypto_config.h +++ b/include/psa/crypto_config.h @@ -30,6 +30,13 @@ extern "C" { #endif +#define PSA_WANT_ALG_ECDSA + +#define PSA_WANT_ALG_ECDSA_DETERMINISTIC + +//#define MBEDTLS_PSA_ACCEL_ALG_ECDSA +//#define MBEDTLS_PSA_ACCEL_ALG_ECDSA_DETERMINISTIC + #ifdef __cplusplus } #endif