14#ifndef INFUSE_SDK_INCLUDE_INFUSE_SECURITY_H_
15#define INFUSE_SDK_INCLUDE_INFUSE_SECURITY_H_
20#include <zephyr/net/tls_credentials.h>
22#include <psa/crypto_types.h>
160 size_t salt_len,
const void *info,
size_t info_len,
void infuse_security_cloud_public_key(uint8_t public_key[32])
Retrieve current cloud public key.
psa_key_id_t infuse_security_device_root_key(void)
Get device root key identifier.
psa_key_id_t infuse_security_device_sign_key(void)
Get device signing key identifier.
psa_key_id_t infuse_security_network_root_key(void)
Get network root key identifier.
uint32_t infuse_security_network_key_identifier(void)
Get the current network key identifier.
void infuse_security_disable_dap(void)
Disable the Debug-Access-Port.
uint32_t infuse_security_device_key_identifier(void)
Get the current device key identifier.
void infuse_security_device_public_key(uint8_t public_key[32])
Retrieve current device public key.
psa_key_attributes_t infuse_security_hkdf_attributes(void)
Retrieve the key attributes required for creating a key compatible with infuse_security_derive_chacha...
uint32_t infuse_security_secondary_network_key_identifier(void)
Get the secondary network key identifier.
psa_key_id_t infuse_security_derive_chacha_key(psa_key_id_t base_key, const void *salt, size_t salt_len, const void *info, size_t info_len, bool force_export)
Derive a key for use with ChaCha20-Poly1305.
psa_key_id_t infuse_security_derive_key(const struct infuse_security_key_params *params)
Derive a key for use with PSA.
int infuse_security_init(void)
Initialise core security systems.
psa_key_id_t infuse_security_secondary_network_root_key(void)
Get secondary network root key identifier.
sec_tag_t infuse_security_coap_dtls_tag(void)
Get security tag for use with Infuse-IoT COAP server.
Parameters to control key creation.
Definition security.h:115
psa_key_type_t key_type
Type of key to generate.
Definition security.h:121
size_t info_len
Length of info.
Definition security.h:133
size_t salt_len
Length of salt.
Definition security.h:129
const void * info
Optional application/usage specific array.
Definition security.h:131
psa_key_usage_t key_usage
How the key will be used.
Definition security.h:125
bool force_export
Force set PSA_KEY_USAGE_EXPORT attribute on generated key.
Definition security.h:135
psa_key_id_t base_key
Base key to use for HKDF.
Definition security.h:117
psa_algorithm_t algorithm
Algorithm key will be used with.
Definition security.h:119
size_t key_bits
Length of key to generate (bits)
Definition security.h:123
const void * salt
Key derivation randomisation.
Definition security.h:127