10#ifndef INFUSE_SDK_INCLUDE_INFUSE_EPACKET_KEYS_H_
11#define INFUSE_SDK_INCLUDE_INFUSE_EPACKET_KEYS_H_
19#include <zephyr/sys/util.h>
21#include <psa/crypto.h>
59int epacket_key_derive(psa_key_id_t base_key,
const uint8_t *info, uint8_t info_len, uint32_t salt,
60 psa_key_id_t *output_key_id);
72psa_key_id_t
epacket_key_id_get(uint8_t key_type, uint32_t key_identifier, uint32_t key_rotation);
83#ifdef CONFIG_INFUSE_SECURITY_CHACHA_KEY_EXPORT
94int epacket_key_export(psa_key_id_t key_id, uint8_t key[32]);
int epacket_key_extension_network_add(psa_key_id_t key_id, uint32_t network_id)
Add another network to the key module.
int epacket_key_derive(psa_key_id_t base_key, const uint8_t *info, uint8_t info_len, uint32_t salt, psa_key_id_t *output_key_id)
HKDF-SHA256 based key derivation.
int epacket_key_delete(psa_key_id_t key_id)
Delete a PSA key ID.
epacket_key_type
Definition keys.h:29
psa_key_id_t epacket_key_id_get(uint8_t key_type, uint32_t key_identifier, uint32_t key_rotation)
Get PSA key ID from ePacket key ID.
epacket_key_interface
Definition keys.h:34
@ EPACKET_KEY_DEVICE
Definition keys.h:31
@ EPACKET_KEY_NETWORK
Definition keys.h:30
@ EPACKET_KEY_INTERFACE_NUM
Definition keys.h:39
@ EPACKET_KEY_INTERFACE_MASK
Definition keys.h:40
@ EPACKET_KEY_INTERFACE_BT_ADV
Definition keys.h:37
@ EPACKET_KEY_INTERFACE_UDP
Definition keys.h:36
@ EPACKET_KEY_INTERFACE_SERIAL
Definition keys.h:35
@ EPACKET_KEY_INTERFACE_BT_GATT
Definition keys.h:38