diff --git a/include/mbedtls/check_config.h b/include/mbedtls/check_config.h index ca60a9d92..e326359ed 100644 --- a/include/mbedtls/check_config.h +++ b/include/mbedtls/check_config.h @@ -290,6 +290,17 @@ #endif #endif /* MBEDTLS_USE_PSA_CRYPTO */ +/* Helper for JPAKE dependencies, will be undefined at the end of the file */ +#if defined(MBEDTLS_USE_PSA_CRYPTO) +#if defined(PSA_HAVE_FULL_JPAKE) +#define MBEDTLS_PK_HAVE_JPAKE +#endif +#else /* MBEDTLS_USE_PSA_CRYPTO */ +#if defined(MBEDTLS_ECJPAKE_C) +#define MBEDTLS_PK_HAVE_JPAKE +#endif +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) && \ ( !defined(MBEDTLS_ECDH_C) || \ !defined(MBEDTLS_PK_HAVE_ECDSA) || \ @@ -344,7 +355,7 @@ #endif #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) && \ - ( !defined(MBEDTLS_ECJPAKE_C) || \ + ( !defined(MBEDTLS_PK_HAVE_JPAKE) || \ !defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) ) #error "MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED defined, but not all prerequisites" #endif @@ -1081,6 +1092,7 @@ /* Undefine helper symbols */ #undef MBEDTLS_PK_HAVE_ECDSA +#undef MBEDTLS_PK_HAVE_JPAKE /* * Avoid warning from -pedantic. This is a convenient place for this diff --git a/include/mbedtls/config_psa.h b/include/mbedtls/config_psa.h index 568d8c2bf..cedce1e7f 100644 --- a/include/mbedtls/config_psa.h +++ b/include/mbedtls/config_psa.h @@ -848,6 +848,11 @@ extern "C" { #define PSA_HAVE_FULL_ECDSA 1 #endif +#if defined(PSA_WANT_ALG_JPAKE) && defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR) && \ + defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY) +#define PSA_HAVE_FULL_JPAKE 1 +#endif + /* These features are always enabled. */ #define PSA_WANT_KEY_TYPE_DERIVE 1 #define PSA_WANT_KEY_TYPE_PASSWORD 1