nRF Connect SDK API 3.3.99
Loading...
Searching...
No Matches
cracen_psa_kmu.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2024 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5 */
6
22#ifndef CRACEN_PSA_KMU_H
23#define CRACEN_PSA_KMU_H
24
25#include <psa/crypto.h>
26
27#ifdef CONFIG_BUILD_WITH_TFM
32typedef uint64_t psa_drv_slot_number_t;
33#endif
34
40#define PSA_KEY_LOCATION_CRACEN_KMU (PSA_KEY_LOCATION_VENDOR_FLAG | ('N' << 8) | 'K')
41
54#define PSA_KEY_ID_FROM_CRACEN_KMU_SLOT(scheme, slot_id) \
55 (0x7fff0000 | ((scheme) << 12) | ((slot_id)&0xff))
56
58#define PSA_KEY_HANDLE_FROM_CRACEN_KMU_SLOT(scheme, slot_id) \
59 PSA_KEY_ID_FROM_CRACEN_KMU_SLOT(scheme, slot_id)
60
67#define CRACEN_PSA_GET_KEY_USAGE_SCHEME(key_id) (((key_id) >> 12) & 0xf)
68
75#define CRACEN_PSA_GET_KMU_SLOT(key_id) ((key_id)&0xff)
76
106
117psa_status_t cracen_kmu_get_key_slot(mbedtls_svc_key_id_t key_id, psa_key_lifetime_t *lifetime,
118 psa_drv_slot_number_t *slot_number);
119
134psa_status_t cracen_kmu_block(const psa_key_attributes_t *key_attr);
135
138#endif /* CRACEN_PSA_KMU_H */
int32_t psa_status_t
Definition error.h:26
psa_status_t cracen_kmu_block(const psa_key_attributes_t *key_attr)
Block a key in the KMU.
cracen_kmu_metadata_key_usage_scheme
Key usage schemes for KMU metadata.
Definition cracen_psa_kmu.h:81
@ CRACEN_KMU_KEY_USAGE_SCHEME_SEED
Definition cracen_psa_kmu.h:92
@ CRACEN_KMU_KEY_USAGE_SCHEME_ENCRYPTED
Definition cracen_psa_kmu.h:98
@ CRACEN_KMU_KEY_USAGE_SCHEME_PROTECTED
Definition cracen_psa_kmu.h:86
@ CRACEN_KMU_KEY_USAGE_SCHEME_RAW
Definition cracen_psa_kmu.h:104
psa_status_t cracen_kmu_get_key_slot(mbedtls_svc_key_id_t key_id, psa_key_lifetime_t *lifetime, psa_drv_slot_number_t *slot_number)
Retrieve the slot number for a given key handle.
psa_drv_slot_number_t
Definition platform_builtin_key_loader_ids.h:17