22#ifndef CRACEN_PSA_KMU_H
23#define CRACEN_PSA_KMU_H
25#include <psa/crypto.h>
27#ifdef CONFIG_BUILD_WITH_TFM
40#define PSA_KEY_LOCATION_CRACEN_KMU (PSA_KEY_LOCATION_VENDOR_FLAG | ('N' << 8) | 'K')
54#define PSA_KEY_ID_FROM_CRACEN_KMU_SLOT(scheme, slot_id) \
55 (0x7fff0000 | ((scheme) << 12) | ((slot_id)&0xff))
58#define PSA_KEY_HANDLE_FROM_CRACEN_KMU_SLOT(scheme, slot_id) \
59 PSA_KEY_ID_FROM_CRACEN_KMU_SLOT(scheme, slot_id)
67#define CRACEN_PSA_GET_KEY_USAGE_SCHEME(key_id) (((key_id) >> 12) & 0xf)
75#define CRACEN_PSA_GET_KMU_SLOT(key_id) ((key_id)&0xff)
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.