Add mbedtls_set_key_owner_id API
Add the mbedtls_set_key_owner_id API, API specific to the MbedTLS PSA implementation. The API allows to define the owner of volatile keys. Signed-off-by: Ronald Cron <ronald.cron@arm.com>
This commit is contained in:
parent
3c76a42475
commit
6b5ff53c01
2 changed files with 27 additions and 0 deletions
|
@ -152,6 +152,25 @@ static psa_key_attributes_t psa_key_attributes_init(void);
|
||||||
static void psa_set_key_id( psa_key_attributes_t *attributes,
|
static void psa_set_key_id( psa_key_attributes_t *attributes,
|
||||||
mbedtls_svc_key_id_t key );
|
mbedtls_svc_key_id_t key );
|
||||||
|
|
||||||
|
#ifdef MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER
|
||||||
|
/** Set the owner identifier of a key.
|
||||||
|
*
|
||||||
|
* When key identifiers encode key owner identifiers, psa_set_key_id() does
|
||||||
|
* not allow to define in key attributes the owner of volatile keys as
|
||||||
|
* psa_set_key_id() enforces the key to be persistent.
|
||||||
|
*
|
||||||
|
* This function allows to set in key attributes the owner identifier of a
|
||||||
|
* key. It is intended to be used for volatile keys. For persistent keys,
|
||||||
|
* it is recommended to use the PSA Cryptography API psa_set_key_id() to define
|
||||||
|
* the owner of a key.
|
||||||
|
*
|
||||||
|
* \param[out] attributes The attribute structure to write to.
|
||||||
|
* \param owner_id The key owner identifier.
|
||||||
|
*/
|
||||||
|
static void mbedtls_set_key_owner_id( psa_key_attributes_t *attributes,
|
||||||
|
mbedtls_key_owner_id_t owner_id );
|
||||||
|
#endif
|
||||||
|
|
||||||
/** Set the location of a persistent key.
|
/** Set the location of a persistent key.
|
||||||
*
|
*
|
||||||
* To make a key persistent, you must give it a persistent key identifier
|
* To make a key persistent, you must give it a persistent key identifier
|
||||||
|
|
|
@ -385,6 +385,14 @@ static inline mbedtls_svc_key_id_t psa_get_key_id(
|
||||||
return( attributes->core.id );
|
return( attributes->core.id );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER
|
||||||
|
static inline void mbedtls_set_key_owner_id( psa_key_attributes_t *attributes,
|
||||||
|
mbedtls_key_owner_id_t owner )
|
||||||
|
{
|
||||||
|
attributes->core.id.owner = owner;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static inline void psa_set_key_lifetime(psa_key_attributes_t *attributes,
|
static inline void psa_set_key_lifetime(psa_key_attributes_t *attributes,
|
||||||
psa_key_lifetime_t lifetime)
|
psa_key_lifetime_t lifetime)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue