PSA key slot management function declarations. More...
PSA key slot management function declarations.
Definition in file psa_crypto_slot_management.h.
Go to the source code of this file.
Data Structures | |
struct | psa_key_slot_t |
Structure of a virtual key slot in local memory. More... | |
Macros | |
#define | PSA_PROTECTED_KEY_COUNT (CONFIG_PSA_PROTECTED_KEY_COUNT) |
Number of allocated slots for keys in protected memory or secure elements. | |
#define | PSA_ASYMMETRIC_KEYPAIR_COUNT (CONFIG_PSA_ASYMMETRIC_KEYPAIR_COUNT) |
Number of allocated slots for asymmetric key pairs. | |
#define | PSA_SINGLE_KEY_COUNT (CONFIG_PSA_SINGLE_KEY_COUNT) |
Number of allocated slots for single keys in local memory. | |
#define | PSA_KEY_SLOT_COUNT |
Complete number of available key slots. | |
#define | PSA_KEY_ID_VOLATILE_MIN (PSA_KEY_ID_VENDOR_MIN) |
Minimum key id for volatile keys. | |
#define | PSA_KEY_ID_VOLATILE_MAX (PSA_KEY_ID_VENDOR_MAX) |
Maximum key id for volatile keys. | |
Functions | |
void | psa_init_key_slots (void) |
Initializes the allocated key slots and prepares the internal key slot lists. | |
static int | psa_key_id_is_volatile (psa_key_id_t key_id) |
Check whether a key identifier is a volatile key identifier. | |
static int | psa_is_key_slot_locked (psa_key_slot_t *slot) |
Check whether a key slot is locked. | |
psa_key_slot_number_t * | psa_key_slot_get_slot_number (const psa_key_slot_t *slot) |
Get slot number in protected memory. | |
static int | psa_key_lifetime_is_external (psa_key_lifetime_t lifetime) |
Check whether a key is stored on an external device. | |
psa_status_t | psa_wipe_key_slot (psa_key_slot_t *slot) |
Wipe volatile key slot and its contents. | |
void | psa_wipe_all_key_slots (void) |
Wipe all existing volatile key slots. | |
psa_status_t | psa_get_and_lock_key_slot (psa_key_id_t id, psa_key_slot_t **slot) |
Find a key slot in local memory and lock it. | |
psa_status_t | psa_persist_key_slot_in_storage (psa_key_slot_t *slot) |
Store a key slot in persistent storage. | |
psa_status_t | psa_allocate_empty_key_slot (psa_key_id_t *id, const psa_key_attributes_t *attr, psa_key_slot_t **p_slot) |
Find a currently empty key slot that is appropriate for the key. | |
psa_status_t | psa_lock_key_slot (psa_key_slot_t *slot) |
Increase lock count. | |
psa_status_t | psa_unlock_key_slot (psa_key_slot_t *slot) |
Decrease lock count. | |
psa_status_t | psa_validate_key_location (psa_key_lifetime_t lifetime, psa_se_drv_data_t **driver) |
Check if key location exists. | |
psa_status_t | psa_validate_key_persistence (psa_key_lifetime_t lifetime) |
Validate key persistence. | |
int | psa_is_valid_key_id (psa_key_id_t id, int vendor) |
Check if provided key ID is either a valid user ID or vendor ID. | |
size_t | psa_get_key_data_from_key_slot (const psa_key_slot_t *slot, uint8_t **key_data, size_t **key_bytes) |
Get key data and key size from key slot. | |
void | psa_get_public_key_data_from_key_slot (const psa_key_slot_t *slot, uint8_t **pubkey_data, size_t **pubkey_data_len) |
Get public key data and size from key slot. | |