diff --git a/components/mbedtls/port/include/mbedtls/esp_config.h b/components/mbedtls/port/include/mbedtls/esp_config.h index 60826e6c29..d1e6a910ed 100644 --- a/components/mbedtls/port/include/mbedtls/esp_config.h +++ b/components/mbedtls/port/include/mbedtls/esp_config.h @@ -29,6 +29,7 @@ #include "sdkconfig.h" #include "mbedtls/config.h" +#include "soc/soc_caps.h" /** * \name SECTION: System support @@ -130,7 +131,13 @@ #ifdef CONFIG_MBEDTLS_HARDWARE_SHA #define MBEDTLS_SHA1_ALT #define MBEDTLS_SHA256_ALT + +#if SOC_SHA_SUPPORT_SHA512 #define MBEDTLS_SHA512_ALT +#else +#undef MBEDTLS_SHA512_ALT +#endif + #else #undef MBEDTLS_SHA1_ALT #undef MBEDTLS_SHA256_ALT diff --git a/components/mbedtls/test/test_mbedtls_mpi.c b/components/mbedtls/test/test_mbedtls_mpi.c index 3b52304c82..a7b21a2f72 100644 --- a/components/mbedtls/test/test_mbedtls_mpi.c +++ b/components/mbedtls/test/test_mbedtls_mpi.c @@ -64,13 +64,13 @@ static void test_bignum_mult_variant(const char *a_str, const char *b_str, const mbedtls_mpi_write_string(&X, 16, x_buf, sizeof(x_buf)-1, &x_buf_len); TEST_ASSERT_EQUAL_STRING_MESSAGE(e_str, x_buf, "mbedtls_mpi_mul_mpi result wrong"); +#ifdef CONFIG_MBEDTLS_HARDWARE_MPI /* if mod_bits arg is set, also do a esp_mpi_mul_mod() call */ if (mod_bits > 0) { mbedtls_mpi_init(&M); for(int i = 0; i < mod_bits; i++) { mbedtls_mpi_set_bit(&M, i, 1); } - TEST_ASSERT_FALSE(esp_mpi_mul_mpi_mod(&X, &A, &B, &M)); mbedtls_mpi_write_string(&X, 16, x_buf, sizeof(x_buf)-1, &x_buf_len); @@ -78,7 +78,7 @@ static void test_bignum_mult_variant(const char *a_str, const char *b_str, const mbedtls_mpi_free(&M); } - +#endif mbedtls_mpi_free(&A); mbedtls_mpi_free(&B); diff --git a/components/mbedtls/test/test_mbedtls_sha.c b/components/mbedtls/test/test_mbedtls_sha.c index 46b7baef35..ee31268136 100644 --- a/components/mbedtls/test/test_mbedtls_sha.c +++ b/components/mbedtls/test/test_mbedtls_sha.c @@ -15,6 +15,7 @@ #include "sdkconfig.h" #include "test_apb_dport_access.h" #include "sodium/utils.h" +#include "soc/soc_caps.h" TEST_CASE("mbedtls SHA self-tests", "[mbedtls]") { @@ -369,7 +370,7 @@ TEST_CASE("mbedtls SHA, input in flash", "[mbedtls]") #if !DISABLED_FOR_TARGETS(ESP32) /* Function are not implemented in SW */ -#ifdef CONFIG_MBEDTLS_HARDWARE_SHA +#if CONFIG_MBEDTLS_HARDWARE_SHA && SOC_SHA_SUPPORT_SHA512_T /* * FIPS-180-2 test vectors