From c516307ad90d24de7f6f83e6b2fd825329ce5824 Mon Sep 17 00:00:00 2001 From: Valerio Setti Date: Fri, 13 Sep 2024 10:55:22 +0200 Subject: [PATCH] md: allow dispatch to PSA whenever CRYPTO_CLIENT is enabled Instead of allowing PSA dispatching only when CRYPTO_C is set and some MBEDTLS_PSA_ACCEL_ALG_xxx is set, we enable dispatching when CRYPTO_CLIENT and PSA_WANT_ALG_xxx are set. This makes the feature more useful in cases where the PSA support is provided externally, like for example TF-M in Zephyr. This commit also add proper guards for tests trying to use MD+PSA dispatch. Signed-off-by: Valerio Setti --- include/mbedtls/config_adjust_legacy_crypto.h | 26 +++++++++---------- tests/suites/test_suite_md.function | 2 +- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/include/mbedtls/config_adjust_legacy_crypto.h b/include/mbedtls/config_adjust_legacy_crypto.h index fe05c1a4b..2777f7d05 100644 --- a/include/mbedtls/config_adjust_legacy_crypto.h +++ b/include/mbedtls/config_adjust_legacy_crypto.h @@ -108,64 +108,64 @@ */ /* PSA accelerated implementations */ -#if defined(MBEDTLS_PSA_CRYPTO_C) +#if defined(MBEDTLS_PSA_CRYPTO_CLIENT) -#if defined(MBEDTLS_PSA_ACCEL_ALG_MD5) +#if defined(PSA_WANT_ALG_MD5) #define MBEDTLS_MD_CAN_MD5 #define MBEDTLS_MD_MD5_VIA_PSA #define MBEDTLS_MD_SOME_PSA #endif -#if defined(MBEDTLS_PSA_ACCEL_ALG_SHA_1) +#if defined(PSA_WANT_ALG_SHA_1) #define MBEDTLS_MD_CAN_SHA1 #define MBEDTLS_MD_SHA1_VIA_PSA #define MBEDTLS_MD_SOME_PSA #endif -#if defined(MBEDTLS_PSA_ACCEL_ALG_SHA_224) +#if defined(PSA_WANT_ALG_SHA_224) #define MBEDTLS_MD_CAN_SHA224 #define MBEDTLS_MD_SHA224_VIA_PSA #define MBEDTLS_MD_SOME_PSA #endif -#if defined(MBEDTLS_PSA_ACCEL_ALG_SHA_256) +#if defined(PSA_WANT_ALG_SHA_256) #define MBEDTLS_MD_CAN_SHA256 #define MBEDTLS_MD_SHA256_VIA_PSA #define MBEDTLS_MD_SOME_PSA #endif -#if defined(MBEDTLS_PSA_ACCEL_ALG_SHA_384) +#if defined(PSA_WANT_ALG_SHA_384) #define MBEDTLS_MD_CAN_SHA384 #define MBEDTLS_MD_SHA384_VIA_PSA #define MBEDTLS_MD_SOME_PSA #endif -#if defined(MBEDTLS_PSA_ACCEL_ALG_SHA_512) +#if defined(PSA_WANT_ALG_SHA_512) #define MBEDTLS_MD_CAN_SHA512 #define MBEDTLS_MD_SHA512_VIA_PSA #define MBEDTLS_MD_SOME_PSA #endif -#if defined(MBEDTLS_PSA_ACCEL_ALG_RIPEMD160) +#if defined(PSA_WANT_ALG_RIPEMD160) #define MBEDTLS_MD_CAN_RIPEMD160 #define MBEDTLS_MD_RIPEMD160_VIA_PSA #define MBEDTLS_MD_SOME_PSA #endif -#if defined(MBEDTLS_PSA_ACCEL_ALG_SHA3_224) +#if defined(PSA_WANT_ALG_SHA3_224) #define MBEDTLS_MD_CAN_SHA3_224 #define MBEDTLS_MD_SHA3_224_VIA_PSA #define MBEDTLS_MD_SOME_PSA #endif -#if defined(MBEDTLS_PSA_ACCEL_ALG_SHA3_256) +#if defined(PSA_WANT_ALG_SHA3_256) #define MBEDTLS_MD_CAN_SHA3_256 #define MBEDTLS_MD_SHA3_256_VIA_PSA #define MBEDTLS_MD_SOME_PSA #endif -#if defined(MBEDTLS_PSA_ACCEL_ALG_SHA3_384) +#if defined(PSA_WANT_ALG_SHA3_384) #define MBEDTLS_MD_CAN_SHA3_384 #define MBEDTLS_MD_SHA3_384_VIA_PSA #define MBEDTLS_MD_SOME_PSA #endif -#if defined(MBEDTLS_PSA_ACCEL_ALG_SHA3_512) +#if defined(PSA_WANT_ALG_SHA3_512) #define MBEDTLS_MD_CAN_SHA3_512 #define MBEDTLS_MD_SHA3_512_VIA_PSA #define MBEDTLS_MD_SOME_PSA #endif -#endif /* MBEDTLS_PSA_CRYPTO_C */ +#endif /* MBEDTLS_PSA_CRYPTO_CLIENT */ /* Built-in implementations */ #if defined(MBEDTLS_MD5_C) diff --git a/tests/suites/test_suite_md.function b/tests/suites/test_suite_md.function index 4e62154f2..4497d042e 100644 --- a/tests/suites/test_suite_md.function +++ b/tests/suites/test_suite_md.function @@ -420,7 +420,7 @@ exit: } /* END_CASE */ -/* BEGIN_CASE */ +/* BEGIN_CASE depends_on:MBEDTLS_PSA_CRYPTO_C */ void md_psa_dynamic_dispatch(int md_type, int pre_psa_ret, int post_psa_engine) { const mbedtls_md_info_t *md_info = mbedtls_md_info_from_type(md_type);