nRF Connect SDK API 0.1.0
|
#include <stdbool.h>
#include <zephyr/devicetree.h>
Go to the source code of this file.
Macros | |
#define | HUK_SIZE_BYTES (HUK_SIZE_WORDS * 4) |
#define | HW_UNIQUE_KEY_ERR_MISSING (0x16501) |
Error value when the hardware unique key is missing. | |
#define | HW_UNIQUE_KEY_ERR_WRITE_FAILED (0x16502) |
Error value when writing the hardware unique key failed. | |
#define | HW_UNIQUE_KEY_ERR_GENERATION_FAILED (0x16503) |
Error value when the generation of the hardware unique key failed. | |
#define | HW_UNIQUE_KEY_ERR_DERIVE_FAILED (0x16504) |
Error value when key derivation using the hardware unique key failed. | |
#define | HW_UNIQUE_KEY_ERR_GENERIC_ERROR (0x16505) |
Error value when the hardware unique key had a generic failure. | |
#define | HW_UNIQUE_KEY_SUCCESS (0x0) |
Return code for success. | |
#define | KMU_SELECT_SLOT(KEYSLOT) (uint32_t)((KEYSLOT) + 1) /* NRF_KMU KEYSLOT are 1-indexed. */ |
Enumerations | |
enum | hw_unique_key_slot { HUK_KEYSLOT_KDR = 0 } |
Functions | |
int | hw_unique_key_write (enum hw_unique_key_slot key_slot, const uint8_t *key) |
Write a Hardware Unique Key to the KMU. | |
int | hw_unique_key_write_random (void) |
Read random numbers from nrf_cc3xx_platform_ctr_drbg_get and write them to all slots with hw_unique_key_write. | |
bool | hw_unique_key_is_written (enum hw_unique_key_slot key_slot) |
Check whether a Hardware Unique Key has been written to the KMU. | |
bool | hw_unique_key_are_any_written (void) |
Check whether any Hardware Unique Keys are written to the KMU. | |
int | hw_unique_key_load_kdr (void) |
Load the Hardware Unique Key (HUK) into the KDR registers of the Cryptocell. | |
int | hw_unique_key_derive_key (enum hw_unique_key_slot key_slot, const uint8_t *context, size_t context_size, uint8_t const *label, size_t label_size, uint8_t *output, uint32_t output_size) |
Derive a key from the specified HUK, using the nrf_cc3xx_platform API on CryptoCell. Cracen PSA driver APIs on Cracen. | |