/** | |
* @file a71ch_ex_hlse.h | |
* @author NXP Semiconductors | |
* @version 1.0 | |
* @par License | |
* | |
* Copyright 2016 NXP | |
* SPDX-License-Identifier: Apache-2.0 | |
* | |
* @par Description | |
* This file implements the host API examples for the A71CH secure module. | |
* Using Generic API | |
* | |
* @par History | |
* 1.0 2016-08-01 : Initial version | |
* | |
*****************************************************************************/ | |
#ifndef _A71CH_EX_HLSE_ | |
#define _A71CH_EX_HLSE_ | |
#include "sm_types.h" | |
#include "sm_const.h" | |
#ifdef __cplusplus | |
extern "C" { | |
#endif | |
/// @cond | |
#define REDUCED_PACKETSIZE_FALSE (0x00) | |
#define REDUCED_PACKETSIZE_TRUE (0x01) | |
// When A71CH_ALLOW_DISABLE_DEBUG_MODE is defined, the example code | |
// will permanently disable the DEBUG_MODE in case exDebugPermanentlyDisableDebugMode() is invoked. | |
// | |
// #define A71CH_ALLOW_DISABLE_DEBUG_MODE | |
/// @endcond | |
#define DURATION_TEST (0x01) //!< Bit pattern to request a duration test (valid on some example functions) | |
#define MEASURE_EXEC_TIME (0x02) //!< Bit pattern to trigger the measurement of execution time (valid on some example functions) | |
#define EXTENDED_TEST (0x04) //!< Bit pattern to trigger an extended test (valid on some example functions) | |
#define BOOT_SKIP_EXAMPLE (0x00) //!< Argument relevant to ::exBoot | |
#define BOOT_SIMULATED_CYCLE (0x01) //!< Argument relevant to ::exBoot | |
#define BOOT_BOOTLOADER_ROLE (0x02) //!< Argument relevant to ::exBoot | |
#define BOOT_HOST_OS_RESUME (0x04) //!< Argument relevant to ::exBoot | |
/// @cond A71CH Example Utility functions | |
U8 axExHlseAuthenticate(U8 *keyEnc, U8 *keyMac, U8 *keyDek); | |
U8 axExHlseCreateAndSetInitialHostScpKeys(U8 *keyEnc, U8 *keyMac, U8 *keyDek); | |
/// @endcond | |
/** \name Example functions illustrating usage of A71CH functionality | |
@{ */ | |
U8 exHlseAes(void); | |
U8 exHlseConfig(void); | |
U8 exHlseEccNohc(void); | |
U8 exHlseGPStorage(U8 tstMode); | |
U8 exHlseMisc(void); | |
U8 exHlsePsk(void); | |
U8 exHlseScp(void); | |
U8 exHlseSst(void); | |
U8 exHlseSstKp(void); | |
/** @}*/ | |
/** \name Walkthrough example (illustrating typical product use) | |
@{ */ | |
U8 exHlseWalkthrough(void); | |
/** @}*/ | |
/** \name Example functions illustrating specific Debug Mode functions (only available in case the Applet is in Debug Mode) | |
@{ */ | |
U8 exHlseDebugMode(U8 testMode); | |
U8 exHlsePermanentlyDisableDebugMode(void); | |
/** @}*/ | |
/** \name Example function illustrating system boot in combination with SCP03 session key handover | |
@{ */ | |
U8 exHlseBoot(U8 bootMode); | |
/** @}*/ | |
/* | |
* New examples | |
*/ | |
/** \name Example function illustrating support for logical Certificate objects. | |
@{ */ | |
U8 exHlseCert(void); | |
/** @}*/ | |
#ifdef __cplusplus | |
} | |
#endif | |
#endif //_A71CH_EX_HLSE_ |