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

generate key ext: skip driver invocation with non-default method

In the driver wrapper for psa_generate_key() and psa_generate_key_ext():

* Invoke the built-in code if using a non-default method, even if there
  might be an accelerator. This is ok because we only support non-default
  methods for RSA and we don't support driver-only RSA, therefore a
  non-default method will always have built-in code behind it.
* Return NOT_SUPPORTED if trying to use a non-default method with an opaque
  driver.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
This commit is contained in:
Gilles Peskine
2024-02-14 23:07:33 +01:00
parent c81393b2ed
commit 69f11c8dfb
3 changed files with 29 additions and 5 deletions

View File

@ -396,6 +396,18 @@ psa_status_t psa_export_public_key_internal(
const uint8_t *key_buffer, size_t key_buffer_size,
uint8_t *data, size_t data_size, size_t *data_length);
/** Whether a key generation method is the default.
*
* Calls to a key generation driver with a non-default method
* require a driver supporting custom methods.
*
* \param[in] method The key generation method to check.
* \param method_data_length Size of `method.data` in bytes.
*/
int psa_key_generation_method_is_default(
const psa_key_generation_method_t *method,
size_t method_data_length);
/**
* \brief Generate a key.
*