1
0
mirror of https://github.com/Mbed-TLS/mbedtls.git synced 2025-07-29 11:41:15 +03:00

Add psa_key_agreement() API

Add psa_key_agreement() API and basic testing.

Signed-off-by: Waleed Elmelegy <waleed.elmelegy@arm.com>
This commit is contained in:
Waleed Elmelegy
2024-08-08 21:09:05 +01:00
parent 659f9e78fd
commit bdf2c98a27
6 changed files with 228 additions and 22 deletions

View File

@ -458,6 +458,16 @@ psa_status_t mbedtls_test_wrap_psa_import_key(
#define psa_import_key(arg0_attributes, arg1_data, arg2_data_length, arg3_key) \
mbedtls_test_wrap_psa_import_key(arg0_attributes, arg1_data, arg2_data_length, arg3_key)
psa_status_t mbedtls_test_wrap_psa_key_agreement(
mbedtls_svc_key_id_t arg0_private_key,
const uint8_t *arg1_peer_key,
size_t arg2_peer_key_length,
psa_algorithm_t arg3_alg,
const psa_key_attributes_t *arg4_attributes,
mbedtls_svc_key_id_t *arg5_key);
#define psa_key_agreement(arg0_private_key, arg1_peer_key, arg2_peer_key_length, arg3_alg, arg4_attributes, arg5_key) \
mbedtls_test_wrap_psa_key_agreement(arg0_private_key, arg1_peer_key, arg2_peer_key_length, arg3_alg, arg4_attributes, arg5_key)
psa_status_t mbedtls_test_wrap_psa_key_agreement_iop_abort(
psa_key_agreement_iop_t *arg0_operation);
#define psa_key_agreement_iop_abort(arg0_operation) \

View File

@ -805,6 +805,25 @@ psa_status_t mbedtls_test_wrap_psa_import_key(
return status;
}
/* Wrapper for psa_key_agreement */
psa_status_t mbedtls_test_wrap_psa_key_agreement(
mbedtls_svc_key_id_t arg0_private_key,
const uint8_t *arg1_peer_key,
size_t arg2_peer_key_length,
psa_algorithm_t arg3_alg,
const psa_key_attributes_t *arg4_attributes,
mbedtls_svc_key_id_t *arg5_key)
{
#if !defined(MBEDTLS_PSA_ASSUME_EXCLUSIVE_BUFFERS)
MBEDTLS_TEST_MEMORY_POISON(arg1_peer_key, arg2_peer_key_length);
#endif /* !defined(MBEDTLS_PSA_ASSUME_EXCLUSIVE_BUFFERS) */
psa_status_t status = (psa_key_agreement)(arg0_private_key, arg1_peer_key, arg2_peer_key_length, arg3_alg, arg4_attributes, arg5_key);
#if !defined(MBEDTLS_PSA_ASSUME_EXCLUSIVE_BUFFERS)
MBEDTLS_TEST_MEMORY_UNPOISON(arg1_peer_key, arg2_peer_key_length);
#endif /* !defined(MBEDTLS_PSA_ASSUME_EXCLUSIVE_BUFFERS) */
return status;
}
/* Wrapper for psa_key_agreement_iop_abort */
psa_status_t mbedtls_test_wrap_psa_key_agreement_iop_abort(
psa_key_agreement_iop_t *arg0_operation)