XDK API  3.6.0
Documentation
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

All rights reserved. The use is subject to the XDK SDK EULA by Bosch Connected Devices and Solutions GmbH.
This documentation file has been automatically generated on Thu Mar 14 2019 19:12:51 by doxygen 1.8.8