Modules | Files | Data Structures | Typedefs
FotaVerificationAgent

This module is responsible for validating new firmware that is about to be switched with the current working firmware. More...

+ Collaboration diagram for FotaVerificationAgent:

Modules

 EcdsaVerificationAgent
 Firmware type 3 corresponds to the Hydrogen. validates the integrity of the firmware.
 
 FWC1NoCryptoVerificationAGENT
 Firmware Container variant 1 corresponds to the XDK. Validates the integrity of the firmware. It has no cryptography usage and signature verification won't support.
 
 FWC2RsaCycurTLSVerificationAGENT
 Firmware Container variant 2 with respect to CycurTLS. Validates the integrity of the firmware.
 

Files

file  BCDS_FotaVerificationAgent.h
 

Data Structures

struct  FotaVerificationAgent_S
 

Typedefs

typedef Retcode_T(* FotaVerificationAgent_Deinitialize_T )(void)
 De-initialize the agent.. More...
 
typedef Retcode_T(* FotaVerificationAgent_Initialize_T )(FotaPartitionAgent_T *partitionAgent, FotaRegistryAgent_T *registryAgent, EventHub_T *hub, void *publicKey, const uint32_t publicKeySize)
 Initialize the verification agent. More...
 
typedef Retcode_T(* FotaVerificationAgent_ReadFooter_T )(FWContainer_Footer_T *footer)
 Return the content of the footer. More...
 
typedef Retcode_T(* FotaVerificationAgent_ReadHeader_T )(FWContainer_Header_T *header)
 Return the content of the header. More...
 
typedef struct
FotaVerificationAgent_S 
FotaVerificationAgent_T
 
typedef Retcode_T(* FotaVerificationAgent_VerifyHeader_T )(void)
 Verify the header. More...
 
typedef Retcode_T(* FotaVerificationAgent_VerifyImage_T )(void)
 Verify the footer. More...
 
typedef Retcode_T(* FotaVerificationAgent_VerifySignature_T )(void)
 Verify the signature. More...
 

Detailed Description


Data Structure Documentation

struct FotaVerificationAgent_S

Typedef Documentation

typedef Retcode_T(* FotaVerificationAgent_Deinitialize_T)(void)
Returns
RETCODE_OK
typedef Retcode_T(* FotaVerificationAgent_Initialize_T)(FotaPartitionAgent_T *partitionAgent, FotaRegistryAgent_T *registryAgent, EventHub_T *hub, void *publicKey, const uint32_t publicKeySize)
Parameters
[in]FOTA_PartitionAgent_T* partitionAgent This agent handle the download partition (where we will store our new firmware after a fota).
[in]FOTA_RegistryAgent_T* registryAgent This agent is used to save the internal state of the agent before a reboot.
[in]EventHub_T* hub This hub allows to the agent to communicate in an asynchrony way with the application using it.
[in]void* publicKey Pointer to the publicKey to use.
[in]uint32_tpublicKeySize Size of the public key.
Returns
RETCODE_NULL_POINTER A null pointer was provided.
FOTA_FW_KEYSIZE_WRONG when size of the public key was wrong.
RETCODE_OK Initialize successfully
typedef Retcode_T(* FotaVerificationAgent_ReadFooter_T)(FWContainer_Footer_T *footer)
Parameters
[out]FWContainer_Footer_T* footer Footer structure to fill and return to the application.
Returns
RETCODE_NULL_POINTER A null pointer was provided.
#XXXX_OUT_OF_STORAGE while reading the data from out of storage (based on the selected partition)
#XXXX_FILE_READ_ERROR File read fails (based on the selected partition)
FOTA_FW_NOT_SUPPORTED If the header is invalid
RETCODE_OK When footer read successfully
typedef Retcode_T(* FotaVerificationAgent_ReadHeader_T)(FWContainer_Header_T *header)
Parameters
[out]FWContainer_Header_T* header Header structure to fill and return to the application.
Returns
RETCODE_NULL_POINTER A null pointer was provided.
#XXXX_OUT_OF_STORAGE while reading the data from out of storage (based on the selected partition)
#XXXX_FILE_READ_ERROR File read fails (based on the selected partition)
FOTA_FW_NOT_SUPPORTED If the header is invalid
RETCODE_OK When header read successfully
typedef Retcode_T(* FotaVerificationAgent_VerifyHeader_T)(void)
Returns
RETCODE_NULL_POINTER A null pointer was provided.
#XXXX_OUT_OF_STORAGE while reading the data from out of storage (based on the selected partition)
#XXXX_FILE_READ_ERROR File read fails (based on the selected partition)
FOTA_FW_CRCINIT_FAIL If the CRC initialization fails
FOTA_FW_CRCRUN_FAIL If the CRC checksum calculation fails
FOTA_FW_CRCFINAL_FAIL If the finalized CRC checksum fails
FOTA_FW_CRC_FAIL If the calculated CRC and HeaderCRC mismatches
FOTA_RETCODE_FIRMWARE_SIZE_FAIL If the firmware size is invalid
RETCODE_OK On successfully verifying the header
typedef Retcode_T(* FotaVerificationAgent_VerifyImage_T)(void)
Returns
RETCODE_NULL_POINTER A null pointer was provided.
#XXXX_OUT_OF_STORAGE while reading the data from out of storage (based on the selected partition)
#XXXX_FILE_READ_ERROR File read fails (based on the selected partition)
FOTA_FW_CRCINIT_FAIL If the CRC initialization fails
FOTA_FW_CRCRUN_FAIL If the CRC checksum calculation fails
FOTA_FW_CRCFINAL_FAIL If the finalized CRC checksum fails
FOTA_FW_CRC_FAIL If the calculated CRC and ImageCRC mismatches
FOTA_RETCODE_FIRMWARE_SIZE_FAIL If the firmware size is invalid
RETCODE_OK On successfully verifying the header
typedef Retcode_T(* FotaVerificationAgent_VerifySignature_T)(void)
Returns
RETCODE_NULL_POINTER A null pointer was provided.
#XXXX_OUT_OF_STORAGE while reading the data from out of storage (based on the selected partition)
#XXXX_FILE_READ_ERROR File read fails (based on the selected partition)
FOTA_RETCODE_INTERNAL_ERROR If initialize or update of the SHA context or hash calculation fails
FOTA_FW_NOT_SUPPORTED If the header is invalid while reading the footer
FOTA_RETCODE_INVALID_SIGNATURE If signature verification fails
FOTA_RETCODE_INTERNAL_ERROR If signature verification fails
RETCODE_OK On successfully verifying the signature

This documentation file has been automatically generated on Fri Oct 4 2019 03:47:36 by doxygen 1.8.8