78 lines
2.5 KiB
C
78 lines
2.5 KiB
C
/*
|
|
* Copyright 2020 NXP
|
|
* All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*
|
|
*/
|
|
|
|
#ifndef FSL_IAP_SKBOOT_AUTHENTICATE_H_
|
|
#define FSL_IAP_SKBOOT_AUTHENTICATE_H_
|
|
|
|
#include "fsl_common.h"
|
|
|
|
/*!
|
|
* @addtogroup skboot_authenticate
|
|
* @{
|
|
*/
|
|
|
|
/*******************************************************************************
|
|
* Definitions
|
|
*******************************************************************************/
|
|
|
|
/*! @brief SKBOOT return status*/
|
|
typedef enum _skboot_status
|
|
{
|
|
kStatus_SKBOOT_Success = 0x5ac3c35au, /*!< SKBOOT return success status.*/
|
|
kStatus_SKBOOT_Fail = 0xc35ac35au, /*!< SKBOOT return fail status.*/
|
|
kStatus_SKBOOT_InvalidArgument = 0xc35a5ac3u, /*!< SKBOOT return invalid argument status.*/
|
|
kStatus_SKBOOT_KeyStoreMarkerInvalid = 0xc3c35a5au, /*!< SKBOOT return Keystore invalid Marker status.*/
|
|
kStatus_SKBOOT_HashcryptFinishedWithStatusSuccess =
|
|
0xc15a5ac3, /*!< SKBOOT return Hashcrypt finished with the success status.*/
|
|
kStatus_SKBOOT_HashcryptFinishedWithStatusFail =
|
|
0xc15a5acb, /*!< SKBOOT return Hashcrypt finished with the fail status.*/
|
|
} skboot_status_t;
|
|
|
|
/*! @brief Secure bool flag*/
|
|
typedef enum _secure_bool
|
|
{
|
|
kSECURE_TRUE = 0xc33cc33cU, /*!< Secure true flag.*/
|
|
kSECURE_FALSE = 0x5aa55aa5U, /*!< Secure false flag.*/
|
|
kSECURE_CALLPROTECT_SECURITY_FLAGS = 0xc33c5aa5U, /*!< Secure call protect the security flag.*/
|
|
kSECURE_CALLPROTECT_IS_APP_READY = 0x5aa5c33cU, /*!< Secure call protect the app is ready flag.*/
|
|
kSECURE_TRACKER_VERIFIED = 0x55aacc33U, /*!< Secure tracker verified flag.*/
|
|
} secure_bool_t;
|
|
|
|
/*******************************************************************************
|
|
* Externs
|
|
******************************************************************************/
|
|
|
|
/*******************************************************************************
|
|
* API
|
|
******************************************************************************/
|
|
#if defined(__cplusplus)
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*!
|
|
* @brief Authenticate entry function with ARENA allocator init
|
|
*
|
|
* This is called by ROM boot or by ROM API g_skbootAuthenticateInterface
|
|
*/
|
|
skboot_status_t skboot_authenticate(const uint8_t *imageStartAddr, secure_bool_t *isSignVerified);
|
|
|
|
/*!
|
|
* @brief Interface for image authentication API
|
|
*/
|
|
void HASH_IRQHandler(void);
|
|
|
|
#if defined(__cplusplus)
|
|
}
|
|
#endif
|
|
|
|
/*!
|
|
*@}
|
|
*/
|
|
|
|
#endif /* FSL_IAP_SKBOOT_AUTHENTICATE_H_ */
|