tests: pk_helpers: let all helper function return an error code

Signed-off-by: Valerio Setti <[email protected]>
This commit is contained in:
Valerio Setti
2026-01-14 12:53:25 +01:00
parent fa298be91a
commit 2b3cc12c01
2 changed files with 19 additions and 11 deletions
+2 -2
View File
@@ -34,7 +34,7 @@ typedef enum {
* been requested by "key_type" and "key_bits". * been requested by "key_type" and "key_bits".
* \param output_len Length of the key material being pointed to from "output". * \param output_len Length of the key material being pointed to from "output".
*/ */
void mbedtls_pk_helpers_get_predefined_key_data(psa_key_type_t key_type, psa_key_bits_t key_bits, int mbedtls_pk_helpers_get_predefined_key_data(psa_key_type_t key_type, psa_key_bits_t key_bits,
const uint8_t **output, size_t *output_len); const uint8_t **output, size_t *output_len);
/** /**
@@ -66,7 +66,7 @@ mbedtls_svc_key_id_t mbedtls_pk_helpers_make_psa_key_from_predefined(psa_key_typ
* \param method The desired method for populating the PK context. See * \param method The desired method for populating the PK context. See
* "pk_context_populate_method_t" for available options. * "pk_context_populate_method_t" for available options.
*/ */
void mbedtls_pk_helpers_populate_context(mbedtls_pk_context *pk, mbedtls_svc_key_id_t key_id, int mbedtls_pk_helpers_populate_context(mbedtls_pk_context *pk, mbedtls_svc_key_id_t key_id,
pk_context_populate_method_t method); pk_context_populate_method_t method);
#endif /* MBEDTLS_PK_C */ #endif /* MBEDTLS_PK_C */
+17 -9
View File
@@ -63,7 +63,7 @@ static mbedtls_pk_helpers_predefined_key_t predefined_keys_psa[] = {
RSA_KEY(4096, test_rsa_4096), RSA_KEY(4096, test_rsa_4096),
}; };
void mbedtls_pk_helpers_get_predefined_key_data(psa_key_type_t key_type, psa_key_bits_t key_bits, int mbedtls_pk_helpers_get_predefined_key_data(psa_key_type_t key_type, psa_key_bits_t key_bits,
const uint8_t **output, size_t *output_len) const uint8_t **output, size_t *output_len)
{ {
for (size_t i = 0; i < ARRAY_LENGTH(predefined_keys_psa); i++) { for (size_t i = 0; i < ARRAY_LENGTH(predefined_keys_psa); i++) {
@@ -71,13 +71,16 @@ void mbedtls_pk_helpers_get_predefined_key_data(psa_key_type_t key_type, psa_key
(key_bits == predefined_keys_psa[i].key_bits)) { (key_bits == predefined_keys_psa[i].key_bits)) {
*output = predefined_keys_psa[i].key; *output = predefined_keys_psa[i].key;
*output_len = predefined_keys_psa[i].key_len; *output_len = predefined_keys_psa[i].key_len;
return; return 0;
} }
} }
*output = NULL;
*output_len = 0;
TEST_FAIL("Predefined key not available"); TEST_FAIL("Predefined key not available");
exit:; exit:
return MBEDTLS_ERR_PK_FEATURE_UNAVAILABLE;
} }
mbedtls_svc_key_id_t mbedtls_pk_helpers_make_psa_key_from_predefined(psa_key_type_t key_type, mbedtls_svc_key_id_t mbedtls_pk_helpers_make_psa_key_from_predefined(psa_key_type_t key_type,
@@ -103,24 +106,29 @@ exit:
return key_id; return key_id;
} }
void mbedtls_pk_helpers_populate_context(mbedtls_pk_context *pk, mbedtls_svc_key_id_t key_id, int mbedtls_pk_helpers_populate_context(mbedtls_pk_context *pk, mbedtls_svc_key_id_t key_id,
pk_context_populate_method_t method) pk_context_populate_method_t method)
{ {
int ret;
switch (method) { switch (method) {
case TEST_PK_WRAP_PSA: case TEST_PK_WRAP_PSA:
TEST_EQUAL(mbedtls_pk_wrap_psa(pk, key_id), 0); ret = mbedtls_pk_wrap_psa(pk, key_id);
break; break;
case TEST_PK_COPY_FROM_PSA: case TEST_PK_COPY_FROM_PSA:
TEST_EQUAL(mbedtls_pk_copy_from_psa(key_id, pk), 0); ret = mbedtls_pk_copy_from_psa(key_id, pk);
break; break;
case TEST_PK_COPY_PUBLIC_FROM_PSA: case TEST_PK_COPY_PUBLIC_FROM_PSA:
TEST_EQUAL(mbedtls_pk_copy_public_from_psa(key_id, pk), 0); ret = mbedtls_pk_copy_public_from_psa(key_id, pk);
break; break;
default: default:
TEST_FAIL("Unknown method"); ret = MBEDTLS_ERR_PK_BAD_INPUT_DATA;
} }
exit:; /* Needed to make compiler happy */ TEST_EQUAL(ret, 0);
exit:
return ret;
} }
#endif /* MBEDTLS_PK_C */ #endif /* MBEDTLS_PK_C */