nRF Connect SDK API 3.3.99
Loading...
Searching...
No Matches
cracen_psa_key_management.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2026 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5 */
6
13#ifndef CRACEN_PSA_KEY_MANAGEMENT_H
14#define CRACEN_PSA_KEY_MANAGEMENT_H
15
16#include <psa/crypto.h>
17#include <stddef.h>
18#include <stdint.h>
19#include <string.h>
21
35psa_status_t cracen_export_public_key(const psa_key_attributes_t *attributes,
36 const uint8_t *key_buffer, size_t key_buffer_size,
37 uint8_t *data, size_t data_size, size_t *data_length);
38
53psa_status_t cracen_import_key(const psa_key_attributes_t *attributes, const uint8_t *data,
54 size_t data_length, uint8_t *key_buffer, size_t key_buffer_size,
55 size_t *key_buffer_length, size_t *key_bits);
56
68psa_status_t cracen_generate_key(const psa_key_attributes_t *attributes, uint8_t *key_buffer,
69 size_t key_buffer_size, size_t *key_buffer_length);
70
84 psa_key_attributes_t *attributes, uint8_t *key_buffer,
85 size_t key_buffer_size, size_t *key_buffer_length);
86
100psa_status_t cracen_export_key(const psa_key_attributes_t *attributes, const uint8_t *key_buffer,
101 size_t key_buffer_size, uint8_t *data, size_t data_size,
102 size_t *data_length);
103
117psa_status_t cracen_copy_key(psa_key_attributes_t *attributes, const uint8_t *source_key,
118 size_t source_key_length, uint8_t *target_key_buffer,
119 size_t target_key_buffer_size, size_t *target_key_buffer_length);
120
128psa_status_t cracen_destroy_key(const psa_key_attributes_t *attributes);
129
143psa_status_t cracen_derive_key(const psa_key_attributes_t *attributes, const uint8_t *input,
144 size_t input_length, uint8_t *key, size_t key_size,
145 size_t *key_length);
146
157psa_status_t cracen_get_key_slot(mbedtls_svc_key_id_t key_id, psa_key_lifetime_t *lifetime,
158 psa_drv_slot_number_t *slot_number);
159
162#endif /* CRACEN_PSA_KEY_MANAGEMENT_H */
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.
psa_drv_slot_number_t
Definition platform_builtin_key_loader_ids.h:17