Hello , we are currently working on a card equipped with an imxrt 1050 processor, and more specifically on authentication.
We are trying to authenticate an application that is not in its final place and we are not succeeding.
We succeeded to authenticate a binary in its final place with this kind of code:
enum hab_config config;
enum hab_state state;
enum hab_status status;
uint32_t load_addr = 0;
HAB_RVT_ENTRY() ;
load_addr = HAB_RVT_AUTHENTICATE_IMAGE(1,ivtOffset,(void **)&start, (size_t *)&bytes,NULL);
HAB_RVT_EXIT();
status = HAB_RVT_REPORT_STATUS(&config, &state);
if ((status != HAB_STATUS_FAILURE) && (config == HAB_CONFIG_CLOSED) && (state == HAB_STATE_TRUSTED))
{
// Successful authentication
}
but impossible with a binary that is not in its final place.
ex :
I would like to authenticate a binary located at the address 0x60050000 before copying and executing it at the address 0x60010000
Is there a way to do this? And does anyone have an example?
Thank you very much for your help.