From ad819679a55a36338d8c1ba4e72db69d11409646 Mon Sep 17 00:00:00 2001 From: Valerio Setti Date: Fri, 29 Dec 2023 12:14:41 +0100 Subject: [PATCH] test_suite_psa_crypto: explicitly check return values of conversion functions Signed-off-by: Valerio Setti --- tests/suites/test_suite_psa_crypto.data | 31 ++++++++++---------- tests/suites/test_suite_psa_crypto.function | 32 ++++++++------------- 2 files changed, 28 insertions(+), 35 deletions(-) diff --git a/tests/suites/test_suite_psa_crypto.data b/tests/suites/test_suite_psa_crypto.data index d2fa84250..501cbb783 100644 --- a/tests/suites/test_suite_psa_crypto.data +++ b/tests/suites/test_suite_psa_crypto.data @@ -7409,55 +7409,56 @@ persistent_key_load_key_from_storage:"0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b ECP group ID <-> PSA family - SECP192R1 depends_on:PSA_WANT_ECC_SECP_R1_192 -ecc_conversion_functions:MBEDTLS_ECP_DP_SECP192R1 +ecc_conversion_functions:MBEDTLS_ECP_DP_SECP192R1:PSA_ECC_FAMILY_SECP_R1:192 ECP group ID <-> PSA family - SECP224R1 depends_on:PSA_WANT_ECC_SECP_R1_224 -ecc_conversion_functions:MBEDTLS_ECP_DP_SECP224R1 +ecc_conversion_functions:MBEDTLS_ECP_DP_SECP224R1:PSA_ECC_FAMILY_SECP_R1:224 ECP group ID <-> PSA family - SECP256R1 depends_on:PSA_WANT_ECC_SECP_R1_256 -ecc_conversion_functions:MBEDTLS_ECP_DP_SECP256R1 +ecc_conversion_functions:MBEDTLS_ECP_DP_SECP256R1:PSA_ECC_FAMILY_SECP_R1:256 ECP group ID <-> PSA family - SECP384R1 depends_on:PSA_WANT_ECC_SECP_R1_384 -ecc_conversion_functions:MBEDTLS_ECP_DP_SECP384R1 +ecc_conversion_functions:MBEDTLS_ECP_DP_SECP384R1:PSA_ECC_FAMILY_SECP_R1:384 ECP group ID <-> PSA family - SECP521R1 depends_on:PSA_WANT_ECC_SECP_R1_521 -ecc_conversion_functions:MBEDTLS_ECP_DP_SECP521R1 +ecc_conversion_functions:MBEDTLS_ECP_DP_SECP521R1:PSA_ECC_FAMILY_SECP_R1:521 ECP group ID <-> PSA family - BP256R1 depends_on:PSA_WANT_ECC_BRAINPOOL_P_R1_256 -ecc_conversion_functions:MBEDTLS_ECP_DP_BP256R1 +ecc_conversion_functions:MBEDTLS_ECP_DP_BP256R1:PSA_ECC_FAMILY_BRAINPOOL_P_R1:256 ECP group ID <-> PSA family - BP384R1 depends_on:PSA_WANT_ECC_BRAINPOOL_P_R1_384 -ecc_conversion_functions:MBEDTLS_ECP_DP_BP384R1 +ecc_conversion_functions:MBEDTLS_ECP_DP_BP384R1:PSA_ECC_FAMILY_BRAINPOOL_P_R1:384 ECP group ID <-> PSA family - BP512R1 depends_on:PSA_WANT_ECC_BRAINPOOL_P_R1_512 -ecc_conversion_functions:MBEDTLS_ECP_DP_BP512R1 +ecc_conversion_functions:MBEDTLS_ECP_DP_BP512R1:PSA_ECC_FAMILY_BRAINPOOL_P_R1:512 ECP group ID <-> PSA family - CURVE25519 depends_on:PSA_WANT_ECC_MONTGOMERY_255 -ecc_conversion_functions:MBEDTLS_ECP_DP_CURVE25519 +ecc_conversion_functions:MBEDTLS_ECP_DP_CURVE25519:PSA_ECC_FAMILY_MONTGOMERY:255 ECP group ID <-> PSA family - SECP192K1 depends_on:PSA_WANT_ECC_SECP_K1_192 -ecc_conversion_functions:MBEDTLS_ECP_DP_SECP192K1 +ecc_conversion_functions:MBEDTLS_ECP_DP_SECP192K1:PSA_ECC_FAMILY_SECP_K1:192 ECP group ID <-> PSA family - SECP224K1 depends_on:PSA_WANT_ECC_SECP_K1_224 -ecc_conversion_functions:MBEDTLS_ECP_DP_SECP224K1 +ecc_conversion_functions:MBEDTLS_ECP_DP_SECP224K1:PSA_ECC_FAMILY_SECP_K1:224 ECP group ID <-> PSA family - SECP256K1 depends_on:PSA_WANT_ECC_SECP_K1_256 -ecc_conversion_functions:MBEDTLS_ECP_DP_SECP256K1 +ecc_conversion_functions:MBEDTLS_ECP_DP_SECP256K1:PSA_ECC_FAMILY_SECP_K1:256 ECP group ID <-> PSA family - CURVE448 depends_on:PSA_WANT_ECC_MONTGOMERY_448 -ecc_conversion_functions:MBEDTLS_ECP_DP_CURVE448 +ecc_conversion_functions:MBEDTLS_ECP_DP_CURVE448:PSA_ECC_FAMILY_MONTGOMERY:448 + +ECP group ID <-> PSA family - Wrong values +ecc_conversion_functions:MBEDTLS_ECP_DP_MAX:0:0 -ECP group ID <-> PSA family - fail -ecc_conversion_functions_fail: \ No newline at end of file diff --git a/tests/suites/test_suite_psa_crypto.function b/tests/suites/test_suite_psa_crypto.function index a2d156d4e..ec8afe705 100644 --- a/tests/suites/test_suite_psa_crypto.function +++ b/tests/suites/test_suite_psa_crypto.function @@ -9481,30 +9481,22 @@ exit: } /* END_CASE */ -/* BEGIN_CASE */ -void ecc_conversion_functions(int grp_id_arg) +/* BEGIN_CASE depends_on:PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY */ +void ecc_conversion_functions(int grp_id_arg, int psa_family_arg, int bits_arg) { mbedtls_ecp_group_id grp_id = grp_id_arg; - psa_ecc_family_t ecc_family; - size_t bits; + psa_ecc_family_t ecc_family = psa_family_arg; + size_t bits = bits_arg; + size_t bits_tmp; - ecc_family = mbedtls_ecc_group_to_psa(grp_id, &bits); - TEST_ASSERT(ecc_family != 0); - TEST_EQUAL(grp_id, mbedtls_ecc_group_from_psa(ecc_family, bits)); -} -/* END_CASE */ + TEST_EQUAL(ecc_family, mbedtls_ecc_group_to_psa(grp_id, &bits_tmp)); + TEST_EQUAL(bits, bits_tmp); -/* BEGIN_CASE */ -void ecc_conversion_functions_fail(void) -{ - psa_ecc_family_t ecc_family; - size_t bits; - - // Pick an invalid group ID (MBEDTLS_ECP_DP_CURVE448 is the last enum) - ecc_family = mbedtls_ecc_group_to_psa(MBEDTLS_ECP_DP_CURVE448 + 1, &bits); - TEST_EQUAL(ecc_family, 0); - - TEST_EQUAL(MBEDTLS_ECP_DP_NONE, mbedtls_ecc_group_from_psa(PSA_ECC_FAMILY_SECP_R1, 0)); + if (grp_id != MBEDTLS_ECP_DP_MAX) { + TEST_EQUAL(grp_id, mbedtls_ecc_group_from_psa(ecc_family, bits)); + } else { + TEST_EQUAL(MBEDTLS_ECP_DP_NONE, mbedtls_ecc_group_from_psa(ecc_family, bits)); + } } /* END_CASE */