Fix dependencies of 1.2 ECDSA key exchanges
Having ECDSA in PSA doesn't help if we're not using PSA from TLS 1.2... Also, move the definition of PSA_HAVE_FULL_ECDSA outside the MBEDTLS_PSA_CRYPTO_CONFIG guards so that it is available in all cases. Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
This commit is contained in:
parent
a4c6a3c355
commit
45bcb6aac8
2 changed files with 22 additions and 8 deletions
|
@ -279,9 +279,20 @@
|
||||||
#error "MBEDTLS_HMAC_DRBG_C defined, but not all prerequisites"
|
#error "MBEDTLS_HMAC_DRBG_C defined, but not all prerequisites"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Helper for ECDSA dependencies, will be undefined at the end of the file */
|
||||||
|
#if defined(MBEDTLS_USE_PSA_CRYPTO)
|
||||||
|
#if defined(PSA_HAVE_FULL_ECDSA)
|
||||||
|
#define MBEDTLS_PK_HAVE_ECDSA
|
||||||
|
#endif
|
||||||
|
#else /* MBEDTLS_USE_PSA_CRYPTO */
|
||||||
|
#if defined(MBEDTLS_ECDSA_C)
|
||||||
|
#define MBEDTLS_PK_HAVE_ECDSA
|
||||||
|
#endif
|
||||||
|
#endif /* MBEDTLS_USE_PSA_CRYPTO */
|
||||||
|
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) && \
|
#if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) && \
|
||||||
( !defined(MBEDTLS_ECDH_C) || \
|
( !defined(MBEDTLS_ECDH_C) || \
|
||||||
!(defined(MBEDTLS_ECDSA_C) || defined(PSA_HAVE_FULL_ECDSA)) || \
|
!defined(MBEDTLS_PK_HAVE_ECDSA) || \
|
||||||
!defined(MBEDTLS_X509_CRT_PARSE_C) )
|
!defined(MBEDTLS_X509_CRT_PARSE_C) )
|
||||||
#error "MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED defined, but not all prerequisites"
|
#error "MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED defined, but not all prerequisites"
|
||||||
#endif
|
#endif
|
||||||
|
@ -313,9 +324,9 @@
|
||||||
#error "MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED defined, but not all prerequisites"
|
#error "MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED defined, but not all prerequisites"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) && \
|
#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) && \
|
||||||
( !defined(MBEDTLS_ECDH_C) || \
|
( !defined(MBEDTLS_ECDH_C) || \
|
||||||
!(defined(MBEDTLS_ECDSA_C) || defined(PSA_HAVE_FULL_ECDSA)) || \
|
!defined(MBEDTLS_PK_HAVE_ECDSA) || \
|
||||||
!defined(MBEDTLS_X509_CRT_PARSE_C) )
|
!defined(MBEDTLS_X509_CRT_PARSE_C) )
|
||||||
#error "MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED defined, but not all prerequisites"
|
#error "MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED defined, but not all prerequisites"
|
||||||
#endif
|
#endif
|
||||||
|
@ -1068,6 +1079,9 @@
|
||||||
#error "MBEDTLS_PKCS7_C is defined, but not all prerequisites"
|
#error "MBEDTLS_PKCS7_C is defined, but not all prerequisites"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Undefine helper symbols */
|
||||||
|
#undef MBEDTLS_PK_HAVE_ECDSA
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Avoid warning from -pedantic. This is a convenient place for this
|
* Avoid warning from -pedantic. This is a convenient place for this
|
||||||
* workaround since this is included by every single file before the
|
* workaround since this is included by every single file before the
|
||||||
|
|
|
@ -310,11 +310,6 @@ extern "C" {
|
||||||
#define PSA_HAVE_SOFT_BLOCK_AEAD 1
|
#define PSA_HAVE_SOFT_BLOCK_AEAD 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(PSA_WANT_ALG_ECDSA) && defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR) && \
|
|
||||||
defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY)
|
|
||||||
#define PSA_HAVE_FULL_ECDSA 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(PSA_WANT_KEY_TYPE_AES)
|
#if defined(PSA_WANT_KEY_TYPE_AES)
|
||||||
#if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_AES)
|
#if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_AES)
|
||||||
#define PSA_HAVE_SOFT_KEY_TYPE_AES 1
|
#define PSA_HAVE_SOFT_KEY_TYPE_AES 1
|
||||||
|
@ -848,6 +843,11 @@ extern "C" {
|
||||||
|
|
||||||
#endif /* MBEDTLS_PSA_CRYPTO_CONFIG */
|
#endif /* MBEDTLS_PSA_CRYPTO_CONFIG */
|
||||||
|
|
||||||
|
#if defined(PSA_WANT_ALG_ECDSA) && defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR) && \
|
||||||
|
defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY)
|
||||||
|
#define PSA_HAVE_FULL_ECDSA 1
|
||||||
|
#endif
|
||||||
|
|
||||||
/* These features are always enabled. */
|
/* These features are always enabled. */
|
||||||
#define PSA_WANT_KEY_TYPE_DERIVE 1
|
#define PSA_WANT_KEY_TYPE_DERIVE 1
|
||||||
#define PSA_WANT_KEY_TYPE_PASSWORD 1
|
#define PSA_WANT_KEY_TYPE_PASSWORD 1
|
||||||
|
|
Loading…
Reference in a new issue