Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
security.h File Reference

Infuse Platform Security. More...

#include <stdint.h>
#include <stdbool.h>
#include <zephyr/net/tls_credentials.h>
#include <infuse/security_ids.h>
#include <psa/crypto_types.h>

Go to the source code of this file.

Data Structures

struct  infuse_security_key_params
 Parameters to control key creation. More...

Functions

int infuse_security_init (void)
 Initialise core security systems.
void infuse_security_disable_dap (void)
 Disable the Debug-Access-Port.
int infuse_security_device_root_reset (void)
 Reset the device root key-pair.
psa_key_attributes_t infuse_security_hkdf_attributes (void)
 Retrieve the key attributes required for creating a key compatible with infuse_security_derive_chacha_key.
int infuse_security_cloud_public_key (uint8_t public_key[32])
 Retrieve current cloud public key.
int infuse_security_device_public_key (uint8_t public_key[32])
 Retrieve current device public key.
int infuse_security_secondary_remote_public_key (uint8_t public_key[32])
 Retrieve current secondary remote public key.
psa_key_id_t infuse_security_device_root_key (void)
 Get device root key identifier.
psa_key_id_t infuse_security_secondary_device_root_key (void)
 Get secondary 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_secondary_device_sign_key (void)
 Get secondary device signing key identifier.
psa_key_id_t infuse_security_network_root_key (void)
 Get network root key identifier.
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.
psa_key_id_t infuse_security_derive_key (const struct infuse_security_key_params *params)
 Derive a key for use with PSA.
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.
int infuse_security_secondary_device_key_reset (void)
 Delete cached secondary device key information.
int infuse_security_network_key_write (uint32_t id, const uint8_t key[32])
 Update the device network key.
int infuse_security_secondary_network_key_write (uint32_t id, const uint8_t key[32])
 Update the device secondary network key.

Detailed Description

Infuse Platform Security.

Author
Jordan Yates jorda.nosp@m.n@em.nosp@m.beint.nosp@m..com

SPDX-License-Identifier: FSL-1.1-ALv2

Infuse platform core security module. Initialises PSA and loads root cryptography keys.