|
Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
|
Infuse security API . More...
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. | |
| 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. | |
| void | infuse_security_cloud_public_key (uint8_t public_key[32]) |
| Retrieve current cloud public key. | |
| void | infuse_security_device_public_key (uint8_t public_key[32]) |
| Retrieve current device 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. | |
| 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. | |
| uint32_t | infuse_security_device_key_identifier (void) |
| Get the current device key identifier. | |
| uint32_t | infuse_security_network_key_identifier (void) |
| Get the current network key identifier. | |
| uint32_t | infuse_security_secondary_network_key_identifier (void) |
| Get the secondary network key identifier. | |
Infuse security API .
| void infuse_security_cloud_public_key | ( | uint8_t | public_key[32] | ) |
#include <infuse/security.h>
Retrieve current cloud public key.
| public_key | Storage for public key |
| sec_tag_t infuse_security_coap_dtls_tag | ( | void | ) |
#include <infuse/security.h>
Get security tag for use with Infuse-IoT COAP server.
| 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 ) |
#include <infuse/security.h>
Derive a key for use with ChaCha20-Poly1305.
| base_key | Base key to use for HKDF |
| salt | Key derivation randomisation |
| salt_len | Length of salt |
| info | Optional application/usage specific array |
| info_len | Length of info |
| force_export | Force set PSA_KEY_USAGE_EXPORT attribute on generated key |
| psa_key_id_t infuse_security_derive_key | ( | const struct infuse_security_key_params * | params | ) |
#include <infuse/security.h>
Derive a key for use with PSA.
| params | Key parameters |
| uint32_t infuse_security_device_key_identifier | ( | void | ) |
#include <infuse/security.h>
Get the current device key identifier.
The device key identifier is constructed as a CRC32 hash computed over the cloud and device public keys, truncated to 24 bits.
| void infuse_security_device_public_key | ( | uint8_t | public_key[32] | ) |
#include <infuse/security.h>
Retrieve current device public key.
| public_key | Storage for public key |
| psa_key_id_t infuse_security_device_root_key | ( | void | ) |
#include <infuse/security.h>
Get device root key identifier.
| psa_key_id_t infuse_security_device_sign_key | ( | void | ) |
#include <infuse/security.h>
Get device signing key identifier.
| void infuse_security_disable_dap | ( | void | ) |
#include <infuse/security.h>
Disable the Debug-Access-Port.
| psa_key_attributes_t infuse_security_hkdf_attributes | ( | void | ) |
#include <infuse/security.h>
Retrieve the key attributes required for creating a key compatible with infuse_security_derive_chacha_key.
| int infuse_security_init | ( | void | ) |
#include <infuse/security.h>
Initialise core security systems.
| 0 | on success |
| -errno | negative error code on failure |
| uint32_t infuse_security_network_key_identifier | ( | void | ) |
#include <infuse/security.h>
Get the current network key identifier.
| psa_key_id_t infuse_security_network_root_key | ( | void | ) |
#include <infuse/security.h>
Get network root key identifier.
| uint32_t infuse_security_secondary_network_key_identifier | ( | void | ) |
#include <infuse/security.h>
Get the secondary network key identifier.
Depends on CONFIG_INFUSE_SECURITY_SECONDARY_NETWORK_ENABLE.
| psa_key_id_t infuse_security_secondary_network_root_key | ( | void | ) |
#include <infuse/security.h>
Get secondary network root key identifier.
Depends on CONFIG_INFUSE_SECURITY_SECONDARY_NETWORK_ENABLE.