Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: TYBLE16_simple_data_logger TYBLE16_MP3_Air
Secure element driver registration
Data Structures | |
struct | psa_drv_se_t |
A structure containing pointers to all the entry points of a secure element driver. More... | |
Functions | |
psa_status_t | psa_register_se_driver (psa_key_lifetime_t lifetime, const psa_drv_se_t *methods) |
Register an external cryptoprocessor (secure element) driver. |
Function Documentation
psa_status_t psa_register_se_driver | ( | psa_key_lifetime_t | lifetime, |
const psa_drv_se_t * | methods | ||
) |
Register an external cryptoprocessor (secure element) driver.
This function is only intended to be used by driver code, not by application code. In implementations with separation between the PSA cryptography module and applications, this function should only be available to callers that run in the same memory space as the cryptography module, and should not be exposed to applications running in a different memory space.
This function may be called before psa_crypto_init(). It is implementation-defined whether this function may be called after psa_crypto_init().
- Note:
- Implementations store metadata about keys including the lifetime value. Therefore, from one instantiation of the PSA Cryptography library to the next one, if there is a key in storage with a certain lifetime value, you must always register the same driver (or an updated version that communicates with the same secure element) with the same lifetime value.
- Parameters:
-
lifetime The lifetime value through which this driver will be exposed to applications. The values PSA_KEY_LIFETIME_VOLATILE and PSA_KEY_LIFETIME_PERSISTENT are reserved and may not be used for drivers. Implementations may reserve other values. [in] methods The method table of the driver. This structure must remain valid for as long as the cryptography module keeps running. It is typically a global constant.
- Returns:
- PSA_SUCCESS The driver was successfully registered. Applications can now use
lifetime
to access keys through the methods passed to this function. - PSA_ERROR_BAD_STATE This function was called after the initialization of the cryptography module, and this implementation does not support driver registration at this stage.
-
PSA_ERROR_ALREADY_EXISTS There is already a registered driver for this value of
lifetime
. -
PSA_ERROR_INVALID_ARGUMENT
lifetime
is a reserved value. - PSA_ERROR_NOT_SUPPORTED `methods->hal_version` is not supported by this implementation.
- PSA_ERROR_INSUFFICIENT_MEMORY
- PSA_ERROR_NOT_PERMITTED
Definition at line 306 of file psa_crypto_se.c.
Generated on Tue Jul 12 2022 13:55:24 by
