CryptoAuthLib
Microchip CryptoAuthentication Library
secure_boot.h File Reference

Provides required APIs to manage secure boot under various scenarios. More...

Go to the source code of this file.

Data Structures

struct  secure_boot_config_bits
 
struct  secure_boot_parameters
 

Macros

#define SECURE_BOOT_CONFIG_DISABLE   0
 
#define SECURE_BOOT_CONFIG_FULL_BOTH   1
 
#define SECURE_BOOT_CONFIG_FULL_SIGN   2
 
#define SECURE_BOOT_CONFIG_FULL_DIG   3
 
#define SECURE_BOOT_CONFIGURATION   SECURE_BOOT_CONFIG_FULL_DIG
 
#define SECURE_BOOT_DIGEST_ENCRYPT_ENABLED   true
 
#define SECURE_BOOT_UPGRADE_SUPPORT   true
 

Functions

ATCA_STATUS secure_boot_process (void)
 Handles secure boot functionality through initialization, execution, and de-initialization. More...
 
ATCA_STATUS bind_host_and_secure_element_with_io_protection (uint16_t slot)
 Binds host MCU and Secure element with IO protection key. More...
 
ATCA_STATUS host_generate_random_number (uint8_t *rand)
 

Detailed Description

Provides required APIs to manage secure boot under various scenarios.

Macro Definition Documentation

◆ SECURE_BOOT_CONFIG_DISABLE

#define SECURE_BOOT_CONFIG_DISABLE   0

◆ SECURE_BOOT_CONFIG_FULL_BOTH

#define SECURE_BOOT_CONFIG_FULL_BOTH   1

◆ SECURE_BOOT_CONFIG_FULL_DIG

#define SECURE_BOOT_CONFIG_FULL_DIG   3

◆ SECURE_BOOT_CONFIG_FULL_SIGN

#define SECURE_BOOT_CONFIG_FULL_SIGN   2

◆ SECURE_BOOT_CONFIGURATION

#define SECURE_BOOT_CONFIGURATION   SECURE_BOOT_CONFIG_FULL_DIG

◆ SECURE_BOOT_DIGEST_ENCRYPT_ENABLED

#define SECURE_BOOT_DIGEST_ENCRYPT_ENABLED   true

◆ SECURE_BOOT_UPGRADE_SUPPORT

#define SECURE_BOOT_UPGRADE_SUPPORT   true

Function Documentation

◆ bind_host_and_secure_element_with_io_protection()

ATCA_STATUS bind_host_and_secure_element_with_io_protection ( uint16_t  slot)

Binds host MCU and Secure element with IO protection key.

Parameters
[in]slotThe slot number of IO protection Key.
Returns
ATCA_SUCCESS on success, otherwise an error code.

◆ host_generate_random_number()

ATCA_STATUS host_generate_random_number ( uint8_t *  rand)

◆ secure_boot_process()

ATCA_STATUS secure_boot_process ( void  )

Handles secure boot functionality through initialization, execution, and de-initialization.

Returns
ATCA_SUCCESS on success, otherwise an error code.