13#ifndef CRACEN_PSA_KEY_MANAGEMENT_H
14#define CRACEN_PSA_KEY_MANAGEMENT_H
16#include <psa/crypto.h>
36 const uint8_t *key_buffer,
size_t key_buffer_size,
37 uint8_t *data,
size_t data_size,
size_t *data_length);
54 size_t data_length, uint8_t *key_buffer,
size_t key_buffer_size,
55 size_t *key_buffer_length,
size_t *key_bits);
69 size_t key_buffer_size,
size_t *key_buffer_length);
84 psa_key_attributes_t *attributes, uint8_t *key_buffer,
85 size_t key_buffer_size,
size_t *key_buffer_length);
101 size_t key_buffer_size, uint8_t *data,
size_t data_size,
102 size_t *data_length);
118 size_t source_key_length, uint8_t *target_key_buffer,
119 size_t target_key_buffer_size,
size_t *target_key_buffer_length);
144 size_t input_length, uint8_t *key,
size_t key_size,
int32_t psa_status_t
Definition error.h:26
psa_status_t cracen_destroy_key(const psa_key_attributes_t *attributes)
Destroy a key.
psa_status_t cracen_derive_key(const psa_key_attributes_t *attributes, const uint8_t *input, size_t input_length, uint8_t *key, size_t key_size, size_t *key_length)
Derive a key from input material.
psa_status_t cracen_export_public_key(const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, uint8_t *data, size_t data_size, size_t *data_length)
Export a public key.
psa_status_t cracen_import_key(const psa_key_attributes_t *attributes, const uint8_t *data, size_t data_length, uint8_t *key_buffer, size_t key_buffer_size, size_t *key_buffer_length, size_t *key_bits)
Import a key.
psa_status_t cracen_export_key(const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, uint8_t *data, size_t data_size, size_t *data_length)
Export a key.
psa_status_t cracen_generate_key(const psa_key_attributes_t *attributes, uint8_t *key_buffer, size_t key_buffer_size, size_t *key_buffer_length)
Generate a key.
psa_status_t cracen_get_builtin_key(psa_drv_slot_number_t slot_number, psa_key_attributes_t *attributes, uint8_t *key_buffer, size_t key_buffer_size, size_t *key_buffer_length)
Get a built-in key.
psa_status_t cracen_get_key_slot(mbedtls_svc_key_id_t key_id, psa_key_lifetime_t *lifetime, psa_drv_slot_number_t *slot_number)
Get the key slot for a given key ID.
psa_status_t cracen_copy_key(psa_key_attributes_t *attributes, const uint8_t *source_key, size_t source_key_length, uint8_t *target_key_buffer, size_t target_key_buffer_size, size_t *target_key_buffer_length)
Copy a key.