/* * @author NXP Semiconductors * @version 1.0 * @par License * * Copyright 2017,2020 NXP * SPDX-License-Identifier: Apache-2.0 * * * @par HISTORY * */ /** * @file HLSEMisc.h * @par Description * Host Lib wrapper API: Miscellaneous functions */ #ifndef _HLSE_MISC_H_ #define _HLSE_MISC_H_ #include "HLSETypes.h" /** * Permanently disables the Plain Injection mode * * \retval ::HLSE_SW_OK Upon successful execution */ HLSE_RET_CODE HLSE_DisablePlainInjectionMode(void); /** * Clears all user data. * * \retval ::HLSE_SW_OK Upon successful execution */ HLSE_RET_CODE HLSE_ResetContents(void); /** * Permanently disables the Debug API. * * \retval ::HLSE_SW_OK Upon successful execution */ HLSE_RET_CODE HLSE_DbgDisableDebug(void); /** * Invokes data reflection APDU (facilitates link testing). No check of data payload returned * * \param[in] inData The data to be sent to the Secure Element * \param[in] inDataLen The length of \p inData * \param[in,out] outData IN: caller passes a buffer to hold the data to be returned; OUT: contains the retruend data * \param[in,out] outDataLen IN: length of the \p outData buffer passed; OUT: the number of bytes returned in \p outData * * \retval ::HLSE_SW_OK Upon successful execution * \retval ::HLSE_ERR_API_ERROR Invalid function arguments */ HLSE_RET_CODE HLSE_DbgReflect(U8* inData, U16 inDataLen, U8* outData, U16* outDataLen); /** * Resets the Secure Module to the initial state. * * \retval ::HLSE_SW_OK Upon successful execution */ HLSE_RET_CODE HLSE_DbgReset(void); /** The purpose of this function is to turn the proprietary ECDSA signature format - that may be returned by the applet - into a normalized ASN.1 format. * \param[in] signature buffer containing the ECDSA signature in the applet specific format; OUT: Signature compliant to ASN.1 * \param[in] signatureLen length of ECDSA signature length * \param[in,out] normalizedSignature IN: caller passes a buffer to hold the data to be returned; OUT: contains the retruend data * \param[in,out] normalizedSignatureLen IN: length of the \p outData buffer passed; OUT: the number of bytes returned in \p outData * * \retval ::HLSE_SW_OK upon successfull execution * \retval ::HLSE_ERR_API_ERROR Invalid function arguments */ HLSE_RET_CODE HLSE_NormalizeECCSignature(U8 *signature, U16 signatureLen, U8 *normalizedSignature, U16 *normalizedSignatureLen); #endif // _HLSE_MISC_H_