From 1faa2a3c6e8f08303f900a9169a638f57c985e46 Mon Sep 17 00:00:00 2001 From: Andrzej Kurek Date: Thu, 27 Jan 2022 11:00:24 -0500 Subject: [PATCH] Add a check for MBEDTLS_PK_WRITE_C with USE_PSA_CRYPTO to check-config.h Also force MBEDTLS_PK_WRITE_C in reduced configs using MBEDTLS_USE_PSA_CRYPTO, MBEDTLS_PK_C and MBEDTLS_ECDSA_C. Signed-off-by: Andrzej Kurek --- configs/config-suite-b.h | 5 +++++ include/mbedtls/check_config.h | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/configs/config-suite-b.h b/configs/config-suite-b.h index 4097eb79e1..05f14c8e48 100644 --- a/configs/config-suite-b.h +++ b/configs/config-suite-b.h @@ -114,6 +114,11 @@ //#define MBEDTLS_USE_PSA_CRYPTO //#define MBEDTLS_PSA_CRYPTO_C +/* With USE_PSA_CRYPTO, some PK operations also need PK_WRITE */ +#if defined(MBEDTLS_USE_PSA_CRYPTO) +#define MBEDTLS_PK_WRITE_C +#endif + #include "mbedtls/check_config.h" #endif /* MBEDTLS_CONFIG_H */ diff --git a/include/mbedtls/check_config.h b/include/mbedtls/check_config.h index 502334d43f..fbf43c7792 100644 --- a/include/mbedtls/check_config.h +++ b/include/mbedtls/check_config.h @@ -623,6 +623,12 @@ #error "MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER defined, but it cannot coexist with MBEDTLS_USE_PSA_CRYPTO." #endif +#if defined(MBEDTLS_PK_C) && defined(MBEDTLS_USE_PSA_CRYPTO) && \ + !defined(MBEDTLS_PK_WRITE_C) && defined(MBEDTLS_ECDSA_C) +#error "MBEDTLS_PK_C in configuration with MBEDTLS_USE_PSA_CRYPTO and \ + MBEDTLS_ECDSA_C requires MBEDTLS_PK_WRITE_C to be defined." +#endif + #if defined(MBEDTLS_RSA_C) && ( !defined(MBEDTLS_BIGNUM_C) || \ !defined(MBEDTLS_OID_C) ) #error "MBEDTLS_RSA_C defined, but not all prerequisites"