test_suite_psa_crypto: add test functions and cases for ECC conversion functions

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
This commit is contained in:
Valerio Setti 2023-12-28 17:48:13 +01:00
parent 3b7663de29
commit bf999cb22e
2 changed files with 84 additions and 0 deletions

View file

@ -7406,3 +7406,58 @@ persistent_key_load_key_from_storage:"":PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY
PSA derive persistent key: HKDF SHA-256, exportable
persistent_key_load_key_from_storage:"0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b":PSA_KEY_TYPE_RAW_DATA:1024:PSA_KEY_USAGE_EXPORT:0:DERIVE_KEY
ECP group ID <-> PSA family - SECP192R1
depends_on:PSA_WANT_ECC_SECP_R1_192
ecc_conversion_functions:MBEDTLS_ECP_DP_SECP192R1
ECP group ID <-> PSA family - SECP224R1
depends_on:PSA_WANT_ECC_SECP_R1_224
ecc_conversion_functions:MBEDTLS_ECP_DP_SECP224R1
ECP group ID <-> PSA family - SECP256R1
depends_on:PSA_WANT_ECC_SECP_R1_256
ecc_conversion_functions:MBEDTLS_ECP_DP_SECP256R1
ECP group ID <-> PSA family - SECP384R1
depends_on:PSA_WANT_ECC_SECP_R1_384
ecc_conversion_functions:MBEDTLS_ECP_DP_SECP384R1
ECP group ID <-> PSA family - SECP521R1
depends_on:PSA_WANT_ECC_SECP_R1_521
ecc_conversion_functions:MBEDTLS_ECP_DP_SECP521R1
ECP group ID <-> PSA family - BP256R1
depends_on:PSA_WANT_ECC_BRAINPOOL_P_R1_256
ecc_conversion_functions:MBEDTLS_ECP_DP_BP256R1
ECP group ID <-> PSA family - BP384R1
depends_on:PSA_WANT_ECC_BRAINPOOL_P_R1_384
ecc_conversion_functions:MBEDTLS_ECP_DP_BP384R1
ECP group ID <-> PSA family - BP512R1
depends_on:PSA_WANT_ECC_BRAINPOOL_P_R1_512
ecc_conversion_functions:MBEDTLS_ECP_DP_BP512R1
ECP group ID <-> PSA family - CURVE25519
depends_on:PSA_WANT_ECC_MONTGOMERY_255
ecc_conversion_functions:MBEDTLS_ECP_DP_CURVE25519
ECP group ID <-> PSA family - SECP192K1
depends_on:PSA_WANT_ECC_SECP_K1_192
ecc_conversion_functions:MBEDTLS_ECP_DP_SECP192K1
ECP group ID <-> PSA family - SECP224K1
depends_on:PSA_WANT_ECC_SECP_K1_224
ecc_conversion_functions:MBEDTLS_ECP_DP_SECP224K1
ECP group ID <-> PSA family - SECP256K1
depends_on:PSA_WANT_ECC_SECP_K1_256
ecc_conversion_functions:MBEDTLS_ECP_DP_SECP256K1
ECP group ID <-> PSA family - CURVE448
depends_on:PSA_WANT_ECC_MONTGOMERY_448
ecc_conversion_functions:MBEDTLS_ECP_DP_CURVE448
ECP group ID <-> PSA family - fail
ecc_conversion_functions_fail:

View file

@ -6,6 +6,8 @@
#include "mbedtls/oid.h"
#include "common.h"
#include "mbedtls/psa_util.h"
/* For MBEDTLS_CTR_DRBG_MAX_REQUEST, knowing that psa_generate_random()
* uses mbedtls_ctr_drbg internally. */
#include "mbedtls/ctr_drbg.h"
@ -9479,6 +9481,33 @@ exit:
}
/* END_CASE */
/* BEGIN_CASE */
void ecc_conversion_functions(int grp_id_arg)
{
mbedtls_ecp_group_id grp_id = grp_id_arg;
psa_ecc_family_t ecc_family;
size_t bits;
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 */
/* 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));
}
/* END_CASE */
/* BEGIN_CASE */
void key_agreement_output(int alg_arg,
int our_key_type_arg, data_t *our_key_data,