diff options
author | Valerio Setti <valerio.setti@nordicsemi.no> | 2024-03-11 10:09:32 +0100 |
---|---|---|
committer | Valerio Setti <valerio.setti@nordicsemi.no> | 2024-03-11 11:34:58 +0100 |
commit | e095a67bb249d48cb72ef9a0c8575941366017ff (patch) | |
tree | a2ce839291f42e9bea96c9e6a779fee5303b650a | |
parent | 6f5f9f5ce8ebb68ba65f528ca90b5b59d20a3e6a (diff) | |
download | mbedtls-e095a67bb249d48cb72ef9a0c8575941366017ff.zip mbedtls-e095a67bb249d48cb72ef9a0c8575941366017ff.tar.gz mbedtls-e095a67bb249d48cb72ef9a0c8575941366017ff.tar.bz2 |
pk: improve mbedtls_pk_copy_from_psa()
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
-rw-r--r-- | library/pk.c | 5 | ||||
-rw-r--r-- | tests/suites/test_suite_pk.function | 2 |
2 files changed, 3 insertions, 4 deletions
diff --git a/library/pk.c b/library/pk.c index b25dd28..4345ea2 100644 --- a/library/pk.c +++ b/library/pk.c @@ -1402,7 +1402,7 @@ int mbedtls_pk_copy_from_psa(mbedtls_svc_key_id_t key_id, mbedtls_pk_context *pk status = psa_export_key(key_id, exp_key, sizeof(exp_key), &exp_key_len); if (status != PSA_SUCCESS) { - ret = MBEDTLS_ERR_PK_BAD_INPUT_DATA; + ret = PSA_PK_TO_MBEDTLS_ERR(status); goto exit; } @@ -1429,8 +1429,7 @@ int mbedtls_pk_copy_from_psa(mbedtls_svc_key_id_t key_id, mbedtls_pk_context *pk } mbedtls_md_type_t md_type = MBEDTLS_MD_NONE; - if ((PSA_ALG_GET_HASH(alg_type) != PSA_ALG_NONE) && - (PSA_ALG_GET_HASH(alg_type) != PSA_ALG_ANY_HASH)) { + if (PSA_ALG_GET_HASH(alg_type) != PSA_ALG_ANY_HASH) { md_type = mbedtls_md_type_from_psa_alg(alg_type); } diff --git a/tests/suites/test_suite_pk.function b/tests/suites/test_suite_pk.function index d9ea0be..ccdab09 100644 --- a/tests/suites/test_suite_pk.function +++ b/tests/suites/test_suite_pk.function @@ -2340,7 +2340,7 @@ void pk_copy_from_psa_fail(void) /* Generate an EC key which cannot be exported. */ PSA_ASSERT(pk_psa_genkey_generic(PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1), 256, 0, PSA_ALG_NONE, &key_id)); - TEST_EQUAL(mbedtls_pk_copy_from_psa(key_id, &pk_ctx), MBEDTLS_ERR_PK_BAD_INPUT_DATA); + TEST_EQUAL(mbedtls_pk_copy_from_psa(key_id, &pk_ctx), MBEDTLS_ERR_PK_TYPE_MISMATCH); psa_destroy_key(key_id); #endif /* MBEDTLS_PK_HAVE_ECC_KEYS && PSA_WANT_ECC_SECP_R1_256 && PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_GENERATE */ |