FLEX-FORD-OBC-BM/Source/bsw/Csm/Csm_Rte.h

2904 lines
236 KiB
C
Raw Permalink Normal View History

2026-03-19 11:49:16 +01:00
/**********************************************************************************************************************
* COPYRIGHT
* -------------------------------------------------------------------------------------------------------------------
* \verbatim
* Copyright (c) 2025 by Vector Informatik GmbH. All rights reserved.
*
* This software is copyright protected and proprietary to Vector Informatik GmbH.
* Vector Informatik GmbH grants to you only those rights as set out in the license conditions.
* All other rights remain with Vector Informatik GmbH.
* \endverbatim
* -------------------------------------------------------------------------------------------------------------------
* FILE DESCRIPTION
* -----------------------------------------------------------------------------------------------------------------*/
/* \file Csm_Rte.h
* \brief MICROSAR Crypto Service Manager (CSM) RTE
*
* \details Description of the MICROSAR Crypto Service Manager (CSM) service APIs used only by RTE
*
*********************************************************************************************************************/
/**********************************************************************************************************************
* REVISION HISTORY
* -------------------------------------------------------------------------------------------------------------------
* Refer to the module's header file.
*********************************************************************************************************************/
#if !defined (CSM_RTE_H)
# define CSM_RTE_H
/**********************************************************************************************************************
* INCLUDES
*********************************************************************************************************************/
# include "Csm.h"
/* Usage check */
# if !defined (CSM_RTE_SOURCE)
# error "This is a private header and should only be included by Csm_Rte.c"
# endif
/**********************************************************************************************************************
* GLOBAL CONSTANT MACROS
*********************************************************************************************************************/
/**********************************************************************************************************************
* GLOBAL FUNCTION MACROS
*********************************************************************************************************************/
/**********************************************************************************************************************
* GLOBAL DATA TYPES AND STRUCTURES
*********************************************************************************************************************/
/**********************************************************************************************************************
* GLOBAL DATA PROTOTYPES
*********************************************************************************************************************/
/**********************************************************************************************************************
* GLOBAL FUNCTION PROTOTYPES
*********************************************************************************************************************/
/**********************************************************************************************************************
* LOCAL FUNCTIONS
*********************************************************************************************************************/
/**********************************************************************************************************************
* GLOBAL FUNCTIONS
*********************************************************************************************************************/
# if (CSM_RTE_PORTS == STD_ON)
# define CSM_START_SEC_CODE
# include "MemMap.h" /* PRQA S 5087 */ /* MD_MSR_MemMap */
/**********************************************************************************************************************
* Csm_HashAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_Hash().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data for which the hash shall be computed.
* \param[in] dataLength Contains the number of bytes to be hashed.
* \param[out] resultPtr Contains the pointer to the data where the hash value shall be stored.
* \param[in,out] resultLengthPtr Holds a pointer to the memory location in which the output length in bytes is
* stored. On calling this function, this parameter shall contain the size of the
* buffer provided by resultPtr. When the request has finished, the actual length of
* the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_HashAsr4_03(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) resultPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) resultLengthPtr);
/**********************************************************************************************************************
* Csm_HashDataRefAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_Hash().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data for which the hash shall be computed.
* \param[in] dataLength Contains the number of bytes to be hashed.
* \param[out] resultPtr Contains the pointer to the data where the hash value shall be stored.
* \param[in,out] resultLengthPtr Holds a pointer to the memory location in which the output length in bytes is
* stored. On calling this function, this parameter shall contain the size of the
* buffer provided by resultPtr. When the request has finished, the actual length of
* the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_HashDataRefAsr4_03(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) resultPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) resultLengthPtr);
/**********************************************************************************************************************
* Csm_HashDataRefAsrR19_11()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_Hash().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data for which the hash shall be computed.
* \param[in] dataLength Contains the number of bytes to be hashed.
* \param[out] resultPtr Contains the pointer to the data where the hash value shall be stored.
* \param[in,out] resultLengthPtr Holds a pointer to the memory location in which the output length in bytes is
* stored. On calling this function, this parameter shall contain the size of the
* buffer provided by resultPtr. When the request has finished, the actual length of
* the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_HashDataRefAsrR19_11(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) resultPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) resultLengthPtr);
/**********************************************************************************************************************
* Csm_HashDataRef()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_Hash().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data for which the hash shall be computed.
* \param[in] dataLength Contains the number of bytes to be hashed.
* \param[out] resultPtr Contains the pointer to the data where the hash value shall be stored.
* \param[in,out] resultLengthPtr Holds a pointer to the memory location in which the output length in bytes is
* stored. On calling this function, this parameter shall contain the size of the
* buffer provided by resultPtr. When the request has finished, the actual length of
* the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_HashDataRef(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(void, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2VAR(void, AUTOMATIC, CSM_APPL_VAR) resultPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) resultLengthPtr);
/**********************************************************************************************************************
* Csm_MacGenerateAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_MacGenerate().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data for which the MAC shall be computed.
* \param[in] dataLength Contains the number of bytes for the MAC generation.
* \param[out] macPtr Contains the pointer to the data where the MAC shall be stored.
* \param[in,out] macLengthPtr Holds a pointer to the memory location in which the output length in bytes is
* stored. On calling this function, this parameter shall contain the size of the
* buffer provided by macPtr. When the request has finished, the actual length of
* the returned MAC shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_MacGenerateAsr4_03(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) macPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) macLengthPtr);
/**********************************************************************************************************************
* Csm_MacGenerateAsr4_04()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_MacGenerate().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data for which the MAC shall be computed.
* \param[in] dataLength Contains the number of bytes for the MAC generation.
* \param[out] macPtr Contains the pointer to the data where the MAC shall be stored.
* \param[in,out] macLengthPtr Holds a pointer to the memory location in which the output length in bytes is
* stored. On calling this function, this parameter shall contain the size of the
* buffer provided by macPtr. When the request has finished, the actual length of
* the returned MAC shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_MacGenerateAsr4_04(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) macPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) macLengthPtr);
/**********************************************************************************************************************
* Csm_MacGenerateDataRefAsr4_04()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_MacGenerate().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data for which the MAC shall be computed.
* \param[in] dataLength Contains the number of bytes for the MAC generation.
* \param[out] macPtr Contains the pointer to the data where the MAC shall be stored.
* \param[in,out] macLengthPtr Holds a pointer to the memory location in which the output length in bytes is
* stored. On calling this function, this parameter shall contain the size of the
* buffer provided by macPtr. When the request has finished, the actual length of
* the returned MAC shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_MacGenerateDataRefAsr4_04(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) macPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) macLengthPtr);
/**********************************************************************************************************************
* Csm_MacGenerateDataRefAsrR19_11()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_MacGenerate().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data for which the MAC shall be computed.
* \param[in] dataLength Contains the number of bytes for the MAC generation.
* \param[out] macPtr Contains the pointer to the data where the MAC shall be stored.
* \param[in,out] macLengthPtr Holds a pointer to the memory location in which the output length in bytes is
* stored. On calling this function, this parameter shall contain the size of the
* buffer provided by macPtr. When the request has finished, the actual length of
* the returned MAC shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_MacGenerateDataRefAsrR19_11(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) macPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) macLengthPtr);
/**********************************************************************************************************************
* Csm_MacGenerateDataRef()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_MacGenerate().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data for which the MAC shall be computed.
* \param[in] dataLength Contains the number of bytes for the MAC generation.
* \param[out] macPtr Contains the pointer to the data where the MAC shall be stored.
* \param[in,out] macLengthPtr Holds a pointer to the memory location in which the output length in bytes is
* stored. On calling this function, this parameter shall contain the size of the
* buffer provided by macPtr. When the request has finished, the actual length of
* the returned MAC shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_MacGenerateDataRef(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(void, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2VAR(void, AUTOMATIC, CSM_APPL_VAR) macPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) macLengthPtr);
/**********************************************************************************************************************
* Csm_MacVerifyAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_MacVerify().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data for which the MAC shall be verified.
* \param[in] dataLength Contains the number of data bytes for which the MAC shall be verified.
* \param[in] macPtr Holds a pointer to the MAC to be verified.
* \param[in] macLength Contains the MAC length in BITS to be verified.
* \param[out] verifyPtr Holds a pointer to the memory location, which will hold the result of the MAC
* verification.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_MacVerifyAsr4_03(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) macPtr,
uint32 macLength,
P2VAR(Crypto_VerifyResultType, AUTOMATIC, CSM_APPL_VAR) verifyPtr);
/**********************************************************************************************************************
* Csm_MacVerifyAsr4_04()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_MacVerify().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data for which the MAC shall be verified.
* \param[in] dataLength Contains the number of data bytes for which the MAC shall be verified.
* \param[in] macPtr Holds a pointer to the MAC to be verified.
* \param[in] macLength Contains the MAC length in BITS to be verified.
* \param[out] verifyPtr Holds a pointer to the memory location, which will hold the result of the MAC
* verification.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_MacVerifyAsr4_04(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) macPtr,
uint32 macLength,
P2VAR(Crypto_VerifyResultType, AUTOMATIC, CSM_APPL_VAR) verifyPtr);
/**********************************************************************************************************************
* Csm_MacVerifyDataRefAsr4_04()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_MacVerify().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data for which the MAC shall be verified.
* \param[in] dataLength Contains the number of data bytes for which the MAC shall be verified.
* \param[in] macPtr Holds a pointer to the MAC to be verified.
* \param[in] macLength Contains the MAC length in BITS to be verified.
* \param[out] verifyPtr Holds a pointer to the memory location, which will hold the result of the MAC
* verification.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_MacVerifyDataRefAsr4_04(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) macPtr,
uint32 macLength,
P2VAR(Crypto_VerifyResultType, AUTOMATIC, CSM_APPL_VAR) verifyPtr);
/**********************************************************************************************************************
* Csm_MacVerifyDataRefAsrR19_11()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_MacVerify().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data for which the MAC shall be verified.
* \param[in] dataLength Contains the number of data bytes for which the MAC shall be verified.
* \param[in] macPtr Holds a pointer to the MAC to be verified.
* \param[in] macLength Contains the MAC length in BITS to be verified.
* \param[out] verifyPtr Holds a pointer to the memory location, which will hold the result of the MAC
* verification.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_MacVerifyDataRefAsrR19_11(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) macPtr,
uint32 macLength,
P2VAR(Crypto_VerifyResultType, AUTOMATIC, CSM_APPL_VAR) verifyPtr);
/**********************************************************************************************************************
* Csm_MacVerifyDataRef()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_MacVerify().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data for which the MAC shall be verified.
* \param[in] dataLength Contains the number of data bytes for which the MAC shall be verified.
* \param[in] macPtr Holds a pointer to the MAC to be verified.
* \param[in] macLength Contains the MAC length in BITS to be verified.
* \param[out] verifyPtr Holds a pointer to the memory location, which will hold the result of the MAC
* verification.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_MacVerifyDataRef(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(void, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2CONST(void, AUTOMATIC, CSM_APPL_VAR) macPtr,
uint32 macLength,
P2VAR(Crypto_VerifyResultType, AUTOMATIC, CSM_APPL_VAR) verifyPtr);
/**********************************************************************************************************************
* Csm_EncryptAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_Encrypt().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data to be encrypted.
* \param[in] dataLength Contains the number of bytes to encrypt.
* \param[out] resultPtr Contains the pointer to the data where the encrypted data shall be stored.
* \param[in,out] resultLengthPtr Holds a pointer to the memory location in which the output length information is
* stored in bytes. On calling this function, this parameter shall contain the size
* of the buffer provided by resultPtr. When the request has finished, the actual
* length of the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_EncryptAsr4_03(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) resultPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) resultLengthPtr);
/**********************************************************************************************************************
* Csm_EncryptAsr4_04()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_Encrypt().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data to be encrypted.
* \param[in] dataLength Contains the number of bytes to encrypt.
* \param[out] resultPtr Contains the pointer to the data where the encrypted data shall be stored.
* \param[in,out] resultLengthPtr Holds a pointer to the memory location in which the output length information is
* stored in bytes. On calling this function, this parameter shall contain the size
* of the buffer provided by resultPtr. When the request has finished, the actual
* length of the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_EncryptAsr4_04(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) resultPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) resultLengthPtr);
/**********************************************************************************************************************
* Csm_EncryptDataRefAsr4_04()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_Encrypt().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data to be encrypted.
* \param[in] dataLength Contains the number of bytes to encrypt.
* \param[out] resultPtr Contains the pointer to the data where the encrypted data shall be stored.
* \param[in,out] resultLengthPtr Holds a pointer to the memory location in which the output length information is
* stored in bytes. On calling this function, this parameter shall contain the size
* of the buffer provided by resultPtr. When the request has finished, the actual
* length of the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_EncryptDataRefAsr4_04(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) resultPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) resultLengthPtr);
/**********************************************************************************************************************
* Csm_EncryptDataRefAsrR19_11()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_Encrypt().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data to be encrypted.
* \param[in] dataLength Contains the number of bytes to encrypt.
* \param[out] resultPtr Contains the pointer to the data where the encrypted data shall be stored.
* \param[in,out] resultLengthPtr Holds a pointer to the memory location in which the output length information is
* stored in bytes. On calling this function, this parameter shall contain the size
* of the buffer provided by resultPtr. When the request has finished, the actual
* length of the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_EncryptDataRefAsrR19_11(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) resultPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) resultLengthPtr);
/**********************************************************************************************************************
* Csm_EncryptDataRef()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_Encrypt().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data to be encrypted.
* \param[in] dataLength Contains the number of bytes to encrypt.
* \param[out] resultPtr Contains the pointer to the data where the encrypted data shall be stored.
* \param[in,out] resultLengthPtr Holds a pointer to the memory location in which the output length information is
* stored in bytes. On calling this function, this parameter shall contain the size
* of the buffer provided by resultPtr. When the request has finished, the actual
* length of the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_EncryptDataRef(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(void, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2VAR(void, AUTOMATIC, CSM_APPL_VAR) resultPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) resultLengthPtr);
/**********************************************************************************************************************
* Csm_DecryptAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_Decrypt().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data to be decrypted.
* \param[in] dataLength Contains the number of bytes to decrypt.
* \param[out] resultPtr Contains the pointer to the data where the decrypted data shall be stored.
* \param[in,out] resultLengthPtr Holds a pointer to the memory location in which the output length information is
* stored in bytes. On calling this function, this parameter shall contain the size
* of the buffer provided by resultPtr. When the request has finished, the actual
* length of the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_DecryptAsr4_03(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) resultPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) resultLengthPtr);
/**********************************************************************************************************************
* Csm_DecryptAsr4_04()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_Decrypt().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data to be decrypted.
* \param[in] dataLength Contains the number of bytes to decrypt.
* \param[out] resultPtr Contains the pointer to the data where the decrypted data shall be stored.
* \param[in,out] resultLengthPtr Holds a pointer to the memory location in which the output length information is
* stored in bytes. On calling this function, this parameter shall contain the size
* of the buffer provided by resultPtr. When the request has finished, the actual
* length of the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_DecryptAsr4_04(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) resultPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) resultLengthPtr);
/**********************************************************************************************************************
* Csm_DecryptDataRefAsr4_04()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_Decrypt().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data to be decrypted.
* \param[in] dataLength Contains the number of bytes to decrypt.
* \param[out] resultPtr Contains the pointer to the data where the decrypted data shall be stored.
* \param[in,out] resultLengthPtr Holds a pointer to the memory location in which the output length information is
* stored in bytes. On calling this function, this parameter shall contain the size
* of the buffer provided by resultPtr. When the request has finished, the actual
* length of the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_DecryptDataRefAsr4_04(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) resultPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) resultLengthPtr);
/**********************************************************************************************************************
* Csm_DecryptDataRefAsrR19_11()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_Decrypt().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data to be decrypted.
* \param[in] dataLength Contains the number of bytes to decrypt.
* \param[out] resultPtr Contains the pointer to the data where the decrypted data shall be stored.
* \param[in,out] resultLengthPtr Holds a pointer to the memory location in which the output length information is
* stored in bytes. On calling this function, this parameter shall contain the size
* of the buffer provided by resultPtr. When the request has finished, the actual
* length of the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_DecryptDataRefAsrR19_11(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) resultPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) resultLengthPtr);
/**********************************************************************************************************************
* Csm_DecryptDataRef()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_Decrypt().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data to be decrypted.
* \param[in] dataLength Contains the number of bytes to decrypt.
* \param[out] resultPtr Contains the pointer to the data where the decrypted data shall be stored.
* \param[in,out] resultLengthPtr Holds a pointer to the memory location in which the output length information is
* stored in bytes. On calling this function, this parameter shall contain the size
* of the buffer provided by resultPtr. When the request has finished, the actual
* length of the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_DecryptDataRef(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(void, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2VAR(void, AUTOMATIC, CSM_APPL_VAR) resultPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) resultLengthPtr);
/**********************************************************************************************************************
* Csm_AEADEncryptAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_AEADEncrypt().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] plaintextPtr Contains the pointer to the data to be encrypted.
* \param[in] plaintextLength Contains the number of bytes to encrypt.
* \param[in] associatedDataPtr Contains the pointer to the associated data.
* \param[in] associatedDataLength Contains the number of bytes of the associated data.
* \param[out] ciphertextPtr Contains the pointer to the data where the encrypted data shall be stored.
* \param[in,out] ciphertextLengthPtr Holds a pointer to the memory location in which the output length in bytes of
* the ciphertext is stored. On calling this function, this parameter shall
* contain the size of the buffer in bytes provided by ciphertextPtr. When the
* request has finished, the actual length of the returned value shall be stored.
* \param[out] tagPtr Contains the pointer to the data where the Tag shall be stored.
* \param[in,out] tagLengthPtr Holds a pointer to the memory location in which the output length in bytes of
* the Tag is stored. On calling this function, this parameter shall contain the
* size of the buffer in bytes provided by tagPtr. When the request has
* finished, the actual length of the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_AEADEncryptAsr4_03(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) plaintextPtr,
uint32 plaintextLength,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) associatedDataPtr,
uint32 associatedDataLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) ciphertextPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) ciphertextLengthPtr,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) tagPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) tagLengthPtr);
/**********************************************************************************************************************
* Csm_AEADEncryptAsr4_04()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_AEADEncrypt().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] plaintextPtr Contains the pointer to the data to be encrypted.
* \param[in] plaintextLength Contains the number of bytes to encrypt.
* \param[in] associatedDataPtr Contains the pointer to the associated data.
* \param[in] associatedDataLength Contains the number of bytes of the associated data.
* \param[out] ciphertextPtr Contains the pointer to the data where the encrypted data shall be stored.
* \param[in,out] ciphertextLengthPtr Holds a pointer to the memory location in which the output length in bytes of
* the ciphertext is stored. On calling this function, this parameter shall
* contain the size of the buffer in bytes provided by ciphertextPtr. When the
* request has finished, the actual length of the returned value shall be stored.
* \param[out] tagPtr Contains the pointer to the data where the Tag shall be stored.
* \param[in,out] tagLengthPtr Holds a pointer to the memory location in which the output length in bytes of
* the Tag is stored. On calling this function, this parameter shall contain the
* size of the buffer in bytes provided by tagPtr. When the request has
* finished, the actual length of the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_AEADEncryptAsr4_04(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) plaintextPtr,
uint32 plaintextLength,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) associatedDataPtr,
uint32 associatedDataLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) ciphertextPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) ciphertextLengthPtr,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) tagPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) tagLengthPtr);
/**********************************************************************************************************************
* Csm_AEADEncryptDataRefAsr4_04()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_AEADEncrypt().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] plaintextPtr Contains the pointer to the data to be encrypted.
* \param[in] plaintextLength Contains the number of bytes to encrypt.
* \param[in] associatedDataPtr Contains the pointer to the associated data.
* \param[in] associatedDataLength Contains the number of bytes of the associated data.
* \param[out] ciphertextPtr Contains the pointer to the data where the encrypted data shall be stored.
* \param[in,out] ciphertextLengthPtr Holds a pointer to the memory location in which the output length in bytes of
* the ciphertext is stored. On calling this function, this parameter shall
* contain the size of the buffer in bytes provided by ciphertextPtr. When the
* request has finished, the actual length of the returned value shall be stored.
* \param[out] tagPtr Contains the pointer to the data where the Tag shall be stored.
* \param[in,out] tagLengthPtr Holds a pointer to the memory location in which the output length in bytes of
* the Tag is stored. On calling this function, this parameter shall contain the
* size of the buffer in bytes provided by tagPtr. When the request has
* finished, the actual length of the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_AEADEncryptDataRefAsr4_04(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) plaintextPtr,
uint32 plaintextLength,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) associatedDataPtr,
uint32 associatedDataLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) ciphertextPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) ciphertextLengthPtr,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) tagPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) tagLengthPtr);
/**********************************************************************************************************************
* Csm_AEADEncryptDataRefAsrR19_11()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_AEADEncrypt().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] plaintextPtr Contains the pointer to the data to be encrypted.
* \param[in] plaintextLength Contains the number of bytes to encrypt.
* \param[in] associatedDataPtr Contains the pointer to the associated data.
* \param[in] associatedDataLength Contains the number of bytes of the associated data.
* \param[out] ciphertextPtr Contains the pointer to the data where the encrypted data shall be stored.
* \param[in,out] ciphertextLengthPtr Holds a pointer to the memory location in which the output length in bytes of
* the ciphertext is stored. On calling this function, this parameter shall
* contain the size of the buffer in bytes provided by ciphertextPtr. When the
* request has finished, the actual length of the returned value shall be stored.
* \param[out] tagPtr Contains the pointer to the data where the Tag shall be stored.
* \param[in,out] tagLengthPtr Holds a pointer to the memory location in which the output length in bytes of
* the Tag is stored. On calling this function, this parameter shall contain the
* size of the buffer in bytes provided by tagPtr. When the request has
* finished, the actual length of the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_AEADEncryptDataRefAsrR19_11(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) plaintextPtr,
uint32 plaintextLength,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) associatedDataPtr,
uint32 associatedDataLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) ciphertextPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) ciphertextLengthPtr,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) tagPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) tagLengthPtr);
/**********************************************************************************************************************
* Csm_AEADEncryptDataRef()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_AEADEncrypt().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] plaintextPtr Contains the pointer to the data to be encrypted.
* \param[in] plaintextLength Contains the number of bytes to encrypt.
* \param[in] associatedDataPtr Contains the pointer to the associated data.
* \param[in] associatedDataLength Contains the number of bytes of the associated data.
* \param[out] ciphertextPtr Contains the pointer to the data where the encrypted data shall be stored.
* \param[in,out] ciphertextLengthPtr Holds a pointer to the memory location in which the output length in bytes of
* the ciphertext is stored. On calling this function, this parameter shall
* contain the size of the buffer in bytes provided by ciphertextPtr. When the
* request has finished, the actual length of the returned value shall be stored.
* \param[out] tagPtr Contains the pointer to the data where the Tag shall be stored.
* \param[in,out] tagLengthPtr Holds a pointer to the memory location in which the output length in bytes of
* the Tag is stored. On calling this function, this parameter shall contain the
* size of the buffer in bytes provided by tagPtr. When the request has
* finished, the actual length of the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_AEADEncryptDataRef(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(void, AUTOMATIC, CSM_APPL_VAR) plaintextPtr,
uint32 plaintextLength,
P2CONST(void, AUTOMATIC, CSM_APPL_VAR) associatedDataPtr,
uint32 associatedDataLength,
P2VAR(void, AUTOMATIC, CSM_APPL_VAR) ciphertextPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) ciphertextLengthPtr,
P2VAR(void, AUTOMATIC, CSM_APPL_VAR) tagPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) tagLengthPtr);
/**********************************************************************************************************************
* Csm_AEADDecryptAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_AEADDecrypt().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] ciphertextPtr Contains the pointer to the data to be decrypted.
* \param[in] ciphertextLength Contains the number of bytes to decrypt.
* \param[in] associatedDataPtr Contains the pointer to the associated data.
* \param[in] associatedDataLength Contains the number of bytes of the associated data.
* \param[in] tagPtr Contains the pointer to the data where the Tag shall be stored.
* \param[in] tagLength Contains the length in bytes of the Tag to be verified.
* \param[out] plaintextPtr Contains the pointer to the data where the encrypted data shall be stored.
* \param[in,out] plaintextLengthPtr Holds a pointer to the memory location in which the output length in bytes of
* the plaintext is stored. On calling this function, this parameter shall
* contain the size of the buffer in bytes provided by plaintextPtr. When the
* request has finished, the actual length of the returned value shall be stored.
* \param[out] verifyPtr Contains the pointer to the result of the verification.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_AEADDecryptAsr4_03(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) ciphertextPtr,
uint32 ciphertextLength,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) associatedDataPtr,
uint32 associatedDataLength,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) tagPtr,
uint32 tagLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) plaintextPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) plaintextLengthPtr,
P2VAR(Crypto_VerifyResultType, AUTOMATIC, CSM_APPL_VAR) verifyPtr);
/**********************************************************************************************************************
* Csm_AEADDecryptAsr4_04()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_AEADDecrypt().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] ciphertextPtr Contains the pointer to the data to be decrypted.
* \param[in] ciphertextLength Contains the number of bytes to decrypt.
* \param[in] associatedDataPtr Contains the pointer to the associated data.
* \param[in] associatedDataLength Contains the number of bytes of the associated data.
* \param[in] tagPtr Contains the pointer to the data where the Tag shall be stored.
* \param[in] tagLength Contains the length in bytes of the Tag to be verified.
* \param[out] plaintextPtr Contains the pointer to the data where the encrypted data shall be stored.
* \param[in,out] plaintextLengthPtr Holds a pointer to the memory location in which the output length in bytes of
* the plaintext is stored. On calling this function, this parameter shall
* contain the size of the buffer in bytes provided by plaintextPtr. When the
* request has finished, the actual length of the returned value shall be stored.
* \param[out] verifyPtr Contains the pointer to the result of the verification.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_AEADDecryptAsr4_04(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) ciphertextPtr,
uint32 ciphertextLength,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) associatedDataPtr,
uint32 associatedDataLength,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) tagPtr,
uint32 tagLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) plaintextPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) plaintextLengthPtr,
P2VAR(Crypto_VerifyResultType, AUTOMATIC, CSM_APPL_VAR) verifyPtr);
/**********************************************************************************************************************
* Csm_AEADDecryptDataRefAsr4_04()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_AEADDecrypt().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] ciphertextPtr Contains the pointer to the data to be decrypted.
* \param[in] ciphertextLength Contains the number of bytes to decrypt.
* \param[in] associatedDataPtr Contains the pointer to the associated data.
* \param[in] associatedDataLength Contains the number of bytes of the associated data.
* \param[in] tagPtr Contains the pointer to the data where the Tag shall be stored.
* \param[in] tagLength Contains the length in bytes of the Tag to be verified.
* \param[out] plaintextPtr Contains the pointer to the data where the encrypted data shall be stored.
* \param[in,out] plaintextLengthPtr Holds a pointer to the memory location in which the output length in bytes of
* the plaintext is stored. On calling this function, this parameter shall
* contain the size of the buffer in bytes provided by plaintextPtr. When the
* request has finished, the actual length of the returned value shall be stored.
* \param[out] verifyPtr Contains the pointer to the result of the verification.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_AEADDecryptDataRefAsr4_04(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) ciphertextPtr,
uint32 ciphertextLength,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) associatedDataPtr,
uint32 associatedDataLength,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) tagPtr,
uint32 tagLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) plaintextPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) plaintextLengthPtr,
P2VAR(Crypto_VerifyResultType, AUTOMATIC, CSM_APPL_VAR) verifyPtr);
/**********************************************************************************************************************
* Csm_AEADDecryptDataRefAsrR19_11()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_AEADDecrypt().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] ciphertextPtr Contains the pointer to the data to be decrypted.
* \param[in] ciphertextLength Contains the number of bytes to decrypt.
* \param[in] associatedDataPtr Contains the pointer to the associated data.
* \param[in] associatedDataLength Contains the number of bytes of the associated data.
* \param[in] tagPtr Contains the pointer to the data where the Tag shall be stored.
* \param[in] tagLength Contains the length in bytes of the Tag to be verified.
* \param[out] plaintextPtr Contains the pointer to the data where the encrypted data shall be stored.
* \param[in,out] plaintextLengthPtr Holds a pointer to the memory location in which the output length in bytes of
* the plaintext is stored. On calling this function, this parameter shall
* contain the size of the buffer in bytes provided by plaintextPtr. When the
* request has finished, the actual length of the returned value shall be stored.
* \param[out] verifyPtr Contains the pointer to the result of the verification.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_AEADDecryptDataRefAsrR19_11(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) ciphertextPtr,
uint32 ciphertextLength,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) associatedDataPtr,
uint32 associatedDataLength,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) tagPtr,
uint32 tagLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) plaintextPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) plaintextLengthPtr,
P2VAR(Crypto_VerifyResultType, AUTOMATIC, CSM_APPL_VAR) verifyPtr);
/**********************************************************************************************************************
* Csm_AEADDecryptDataRef()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_AEADDecrypt().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] ciphertextPtr Contains the pointer to the data to be decrypted.
* \param[in] ciphertextLength Contains the number of bytes to decrypt.
* \param[in] associatedDataPtr Contains the pointer to the associated data.
* \param[in] associatedDataLength Contains the number of bytes of the associated data.
* \param[in] tagPtr Contains the pointer to the data where the Tag shall be stored.
* \param[in] tagLength Contains the length in bytes of the Tag to be verified.
* \param[out] plaintextPtr Contains the pointer to the data where the encrypted data shall be stored.
* \param[in,out] plaintextLengthPtr Holds a pointer to the memory location in which the output length in bytes of
* the plaintext is stored. On calling this function, this parameter shall
* contain the size of the buffer in bytes provided by plaintextPtr. When the
* request has finished, the actual length of the returned value shall be stored.
* \param[out] verifyPtr Contains the pointer to the result of the verification.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_AEADDecryptDataRef(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(void, AUTOMATIC, CSM_APPL_VAR) ciphertextPtr,
uint32 ciphertextLength,
P2CONST(void, AUTOMATIC, CSM_APPL_VAR) associatedDataPtr,
uint32 associatedDataLength,
P2CONST(void, AUTOMATIC, CSM_APPL_VAR) tagPtr,
uint32 tagLength,
P2VAR(void, AUTOMATIC, CSM_APPL_VAR) plaintextPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) plaintextLengthPtr,
P2VAR(Crypto_VerifyResultType, AUTOMATIC, CSM_APPL_VAR) verifyPtr);
/**********************************************************************************************************************
* Csm_SignatureGenerateAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_SignatureGenerate().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data to be signed.
* \param[in] dataLength Contains the number of bytes to sign.
* \param[out] signaturePtr Contains the pointer to the data where the signature shall be stored.
* \param[in,out] signatureLengthPtr Holds a pointer to the memory location in which the output length in bytes is
* stored. On calling this function, this parameter shall contain the size of the
* buffer in bytes provided by resultPtr. When the request has finished, the actual
* length of the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_SignatureGenerateAsr4_03(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) signaturePtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) signatureLengthPtr);
/**********************************************************************************************************************
* Csm_SignatureGenerateAsr4_04()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_SignatureGenerate().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data to be signed.
* \param[in] dataLength Contains the number of bytes to sign.
* \param[out] signaturePtr Contains the pointer to the data where the signature shall be stored.
* \param[in,out] signatureLengthPtr Holds a pointer to the memory location in which the output length in bytes is
* stored. On calling this function, this parameter shall contain the size of the
* buffer in bytes provided by resultPtr. When the request has finished, the actual
* length of the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_SignatureGenerateAsr4_04(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) signaturePtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) signatureLengthPtr);
/**********************************************************************************************************************
* Csm_SignatureGenerateDataRefAsr4_04()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_SignatureGenerate().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data to be signed.
* \param[in] dataLength Contains the number of bytes to sign.
* \param[out] signaturePtr Contains the pointer to the data where the signature shall be stored.
* \param[in,out] signatureLengthPtr Holds a pointer to the memory location in which the output length in bytes is
* stored. On calling this function, this parameter shall contain the size of the
* buffer in bytes provided by resultPtr. When the request has finished, the actual
* length of the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_SignatureGenerateDataRefAsr4_04(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) signaturePtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) signatureLengthPtr);
/**********************************************************************************************************************
* Csm_SignatureGenerateDataRefAsrR19_11()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_SignatureGenerate().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data to be signed.
* \param[in] dataLength Contains the number of bytes to sign.
* \param[out] signaturePtr Contains the pointer to the data where the signature shall be stored.
* \param[in,out] signatureLengthPtr Holds a pointer to the memory location in which the output length in bytes is
* stored. On calling this function, this parameter shall contain the size of the
* buffer in bytes provided by resultPtr. When the request has finished, the actual
* length of the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_SignatureGenerateDataRefAsrR19_11(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) signaturePtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) signatureLengthPtr);
/**********************************************************************************************************************
* Csm_SignatureGenerateDataRef()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_SignatureGenerate().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data to be signed.
* \param[in] dataLength Contains the number of bytes to sign.
* \param[out] signaturePtr Contains the pointer to the data where the signature shall be stored.
* \param[in,out] signatureLengthPtr Holds a pointer to the memory location in which the output length in bytes is
* stored. On calling this function, this parameter shall contain the size of the
* buffer in bytes provided by resultPtr. When the request has finished, the actual
* length of the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_SignatureGenerateDataRef(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(void, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2VAR(void, AUTOMATIC, CSM_APPL_VAR) signaturePtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) signatureLengthPtr);
/**********************************************************************************************************************
* Csm_SignatureVerifyAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_SignatureVerify().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data to be verified.
* \param[in] dataLength Contains the number of bytes to be verified.
* \param[in] signaturePtr Holds a pointer to the signature to be verified.
* \param[in] signatureLength Contains the signature length in bytes.
* \param[out] verifyPtr Holds a pointer to the memory location, which will hold the result of the
* signature verification.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_SignatureVerifyAsr4_03(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) signaturePtr,
uint32 signatureLength,
P2VAR(Crypto_VerifyResultType, AUTOMATIC, CSM_APPL_VAR) verifyPtr);
/**********************************************************************************************************************
* Csm_SignatureVerifyAsr4_04()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_SignatureVerify().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data to be verified.
* \param[in] dataLength Contains the number of bytes to be verified.
* \param[in] signaturePtr Holds a pointer to the signature to be verified.
* \param[in] signatureLength Contains the signature length in bytes.
* \param[out] verifyPtr Holds a pointer to the memory location, which will hold the result of the
* signature verification.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_SignatureVerifyAsr4_04(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) signaturePtr,
uint32 signatureLength,
P2VAR(Crypto_VerifyResultType, AUTOMATIC, CSM_APPL_VAR) verifyPtr);
/**********************************************************************************************************************
* Csm_SignatureVerifyDataRefAsr4_04()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_SignatureVerify().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data to be verified.
* \param[in] dataLength Contains the number of bytes to be verified.
* \param[in] signaturePtr Holds a pointer to the signature to be verified.
* \param[in] signatureLength Contains the signature length in bytes.
* \param[out] verifyPtr Holds a pointer to the memory location, which will hold the result of the
* signature verification.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_SignatureVerifyDataRefAsr4_04(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) signaturePtr,
uint32 signatureLength,
P2VAR(Crypto_VerifyResultType, AUTOMATIC, CSM_APPL_VAR) verifyPtr);
/**********************************************************************************************************************
* Csm_SignatureVerifyDataRefAsrR19_11()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_SignatureVerify().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data to be verified.
* \param[in] dataLength Contains the number of bytes to be verified.
* \param[in] signaturePtr Holds a pointer to the signature to be verified.
* \param[in] signatureLength Contains the signature length in bytes.
* \param[out] verifyPtr Holds a pointer to the memory location, which will hold the result of the
* signature verification.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_SignatureVerifyDataRefAsrR19_11(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) signaturePtr,
uint32 signatureLength,
P2VAR(Crypto_VerifyResultType, AUTOMATIC, CSM_APPL_VAR) verifyPtr);
/**********************************************************************************************************************
* Csm_SignatureVerifyDataRef()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_SignatureVerify().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Indicates which operation mode(s) to perform.
* \param[in] dataPtr Contains the pointer to the data to be verified.
* \param[in] dataLength Contains the number of bytes to be verified.
* \param[in] signaturePtr Holds a pointer to the signature to be verified.
* \param[in] signatureLength Contains the signature length in bytes.
* \param[out] verifyPtr Holds a pointer to the memory location, which will hold the result of the
* signature verification.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_SignatureVerifyDataRef(uint32 jobId,
Crypto_OperationModeType mode,
P2CONST(void, AUTOMATIC, CSM_APPL_VAR) dataPtr,
uint32 dataLength,
P2CONST(void, AUTOMATIC, CSM_APPL_VAR) signaturePtr,
uint32 signatureLength,
P2VAR(Crypto_VerifyResultType, AUTOMATIC, CSM_APPL_VAR) verifyPtr);
/**********************************************************************************************************************
* Csm_RandomGenerateAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_RandomGenerate().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[out] resultPtr Holds a pointer to the memory location which will hold the result of the
* random number generation.
* \param[in,out] resultLengthPtr Holds a pointer to the memory location in which the result length in bytes
* is stored. On calling this function, this parameter shall contain the
* number of random bytes, which shall be stored to the buffer provided by
* resultPtr. When the request has finished, the actual length of the returned
* value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* CRYPTO_E_ENTROPY_EXHAUSTION Request failed, entropy of random number generator is exhausted
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_RandomGenerateAsr4_03(uint32 jobId,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) resultPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) resultLengthPtr);
/**********************************************************************************************************************
* Csm_RandomGenerateDataRefAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_RandomGenerate().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[out] resultPtr Holds a pointer to the memory location which will hold the result of the
* random number generation.
* \param[in,out] resultLengthPtr Holds a pointer to the memory location in which the result length in bytes
* is stored. On calling this function, this parameter shall contain the
* number of random bytes, which shall be stored to the buffer provided by
* resultPtr. When the request has finished, the actual length of the returned
* value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* CRYPTO_E_ENTROPY_EXHAUSTION Request failed, entropy of random number generator is exhausted
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_RandomGenerateDataRefAsr4_03(uint32 jobId,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) resultPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) resultLengthPtr);
/**********************************************************************************************************************
* Csm_RandomGenerateDataRefAsrR19_11()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_RandomGenerate().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[out] resultPtr Holds a pointer to the memory location which will hold the result of the
* random number generation.
* \param[in,out] resultLengthPtr Holds a pointer to the memory location in which the result length in bytes
* is stored. On calling this function, this parameter shall contain the
* number of random bytes, which shall be stored to the buffer provided by
* resultPtr. When the request has finished, the actual length of the returned
* value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* CRYPTO_E_ENTROPY_EXHAUSTION Request failed, entropy of random number generator is exhausted
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_RandomGenerateDataRefAsrR19_11(uint32 jobId,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) resultPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) resultLengthPtr);
/**********************************************************************************************************************
* Csm_RandomGenerateDataRef()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_RandomGenerate().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[out] resultPtr Holds a pointer to the memory location which will hold the result of the
* random number generation.
* \param[in,out] resultLengthPtr Holds a pointer to the memory location in which the result length in bytes
* is stored. On calling this function, this parameter shall contain the
* number of random bytes, which shall be stored to the buffer provided by
* resultPtr. When the request has finished, the actual length of the returned
* value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* CRYPTO_E_ENTROPY_EXHAUSTION Request failed, entropy of random number generator is exhausted
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_RandomGenerateDataRef(uint32 jobId,
P2VAR(void, AUTOMATIC, CSM_APPL_VAR) resultPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) resultLengthPtr);
/**********************************************************************************************************************
* Csm_CancelJobAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_CancelJob().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Not used, just for interface compatibility provided
* \return E_OK Request successful - Job was cancelled or was already Idle
* E_NOT_OK Request failed - Job could not be cancelled
* CRYPTO_E_JOB_CANCELED Request pending - Job will be cancelled with next callback notification
* \pre -
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with E_NOT_OK)
* \synchronous TRUE
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_CancelJobAsr4_03(uint32 jobId, Crypto_OperationModeType mode);
/**********************************************************************************************************************
* Csm_CancelJobAsr4_04()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_CancelJob().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] mode Not used, just for interface compatibility provided
* \return E_OK Request successful - Job was cancelled or was already Idle
* E_NOT_OK Request failed - Job could not be cancelled
* CRYPTO_E_JOB_CANCELED Request pending - Job will be cancelled with next callback notification
* \pre -
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with E_NOT_OK)
* \synchronous TRUE
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_CancelJobAsr4_04(uint32 jobId, Crypto_OperationModeType mode);
/**********************************************************************************************************************
* Csm_CancelJobNoOpMode()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_CancelJob().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \return E_OK Request successful - Job was cancelled or was already Idle
* E_NOT_OK Request failed - Job could not be cancelled
* CRYPTO_E_JOB_CANCELED Request pending - Job will be cancelled with next callback notification
* \pre -
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with E_NOT_OK)
* \synchronous TRUE
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_CancelJobNoOpMode(uint32 jobId);
/**********************************************************************************************************************
* Csm_CancelJobNoOpModeAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_CancelJob().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \return E_OK Request successful - Job was cancelled or was already Idle
* E_NOT_OK Request failed - Job could not be cancelled
* CRYPTO_E_JOB_CANCELED Request pending - Job will be cancelled with next callback notification
* \pre -
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with E_NOT_OK)
* \synchronous TRUE
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_CancelJobNoOpModeAsr4_03(uint32 jobId);
/**********************************************************************************************************************
* Csm_CancelJobNoOpModeAsr4_04()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_CancelJob().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \return E_OK Request successful - Job was cancelled or was already Idle
* E_NOT_OK Request failed - Job could not be cancelled
* CRYPTO_E_JOB_CANCELED Request pending - Job will be cancelled with next callback notification
* \pre -
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with E_NOT_OK)
* \synchronous TRUE
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_CancelJobNoOpModeAsr4_04(uint32 jobId);
/**********************************************************************************************************************
* Csm_JobKeyDeriveAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_JobKeyDerive44x().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] keyId Not used - keyId already given by corresponding job of passed jobId
* \param[in] targetKeyId Holds the identifier of the key which is used to store the derived key.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_READ_FAIL Request failed, not allowed to extract key element
* CRYPTO_E_KEY_WRITE_FAIL Request failed, not allowed to write key element
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_JobKeyDeriveAsr4_03(uint32 jobId, uint32 keyId, uint32 targetKeyId);
/**********************************************************************************************************************
* Csm_JobKeyDeriveAsrR19_11()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_JobKeyDerive44x().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] keyId Not used - keyId already given by corresponding job of passed jobId
* \param[in] targetKeyId Holds the identifier of the key which is used to store the derived key.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_READ_FAIL Request failed, not allowed to extract key element
* CRYPTO_E_KEY_WRITE_FAIL Request failed, not allowed to write key element
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_JobKeyDeriveAsrR19_11(uint32 jobId, uint32 keyId, uint32 targetKeyId);
/**********************************************************************************************************************
* Csm_JobKeyExchangeCalcPubValAsrR21_11()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_JobKeyExchangeCalcPubVal().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[out] publicValuePtr Contains the pointer to the data where the public value shall be stored.
* \param[in,out] publicValueLengthPtr Holds a pointer to the memory location in which the public value length information
* is stored. On calling this function, this parameter shall contain the size of the buffer provided
* by publicValuePtr. When the request has finished, the actual length of the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_JobKeyExchangeCalcPubValAsrR21_11(uint32 jobId,
P2VAR(void, AUTOMATIC, CSM_APPL_VAR) publicValuePtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) publicValueLengthPtr);
/**********************************************************************************************************************
* Csm_JobKeyExchangeCalcPubValAsrR20_11()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_JobKeyExchangeCalcPubVal44x().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] keyId Not used - keyId already given by corresponding job of passed jobId
* \param[out] publicValuePtr Contains the pointer to the data where the public value shall be stored.
* \param[in,out] publicValueLengthPtr Holds a pointer to the memory location in which the public value length information
* is stored. On calling this function, this parameter shall contain the size of the buffer provided
* by publicValuePtr. When the request has finished, the actual length of the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_JobKeyExchangeCalcPubValAsrR20_11(uint32 jobId,
uint32 keyId,
P2VAR(void, AUTOMATIC, CSM_APPL_VAR) publicValuePtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) publicValueLengthPtr);
/**********************************************************************************************************************
* Csm_JobKeyExchangeCalcPubValAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_JobKeyExchangeCalcPubVal44x().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] keyId Not used - keyId already given by corresponding job of passed jobId
* \param[out] publicValuePtr Contains the pointer to the data where the public value shall be stored.
* \param[in,out] publicValueLengthPtr Holds a pointer to the memory location in which the public value length information
* is stored. On calling this function, this parameter shall contain the size of the buffer provided
* by publicValuePtr. When the request has finished, the actual length of the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_JobKeyExchangeCalcPubValAsr4_03(uint32 jobId,
uint32 keyId,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) publicValuePtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) publicValueLengthPtr);
/**********************************************************************************************************************
* Csm_JobKeyExchangeCalcPubValAsrR19_11()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_JobKeyExchangeCalcPubVal44x().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] keyId Not used - keyId already given by corresponding job of passed jobId
* \param[out] publicValuePtr Contains the pointer to the data where the public value shall be stored.
* \param[in,out] publicValueLengthPtr Holds a pointer to the memory location in which the public value length information
* is stored. On calling this function, this parameter shall contain the size of the buffer provided
* by publicValuePtr. When the request has finished, the actual length of the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_JobKeyExchangeCalcPubValAsrR19_11(uint32 jobId,
uint32 keyId,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) publicValuePtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) publicValueLengthPtr);
/**********************************************************************************************************************
* Csm_JobKeyExchangeCalcSecretAsrR21_11_A()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_JobKeyExchangeCalcSecret().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] partnerPublicValuePtr Holds the pointer to the memory location which contains the partner's public value.
* \param[in] partnerPublicValueLength Contains the length of the partner's public value in bytes.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_JobKeyExchangeCalcSecretAsrR21_11_A(uint32 jobId,
P2CONST(void, AUTOMATIC, CSM_APPL_VAR) partnerPublicValuePtr,
uint32 partnerPublicValueLength);
/**********************************************************************************************************************
* Csm_JobKeyExchangeCalcSecretAsrR21_11()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_JobKeyExchangeCalcSecret().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] partnerPublicValuePtr Holds the pointer to the memory location which contains the partner's public value.
* \param[in] partnerPublicValueLength Contains the length of the partner's public value in bytes.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_JobKeyExchangeCalcSecretAsrR21_11(uint32 jobId,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) partnerPublicValuePtr,
uint32 partnerPublicValueLength);
/**********************************************************************************************************************
* Csm_JobKeyExchangeCalcSecretAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_JobKeyExchangeCalcSecret44x().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] keyId Not used - keyId already given by corresponding job of passed jobId
* \param[in] partnerPublicValuePtr Holds the pointer to the memory location which contains the partner's public value.
* \param[in] partnerPublicValueLength Contains the length of the partner's public value in bytes.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_JobKeyExchangeCalcSecretAsr4_03(uint32 jobId,
uint32 keyId,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) partnerPublicValuePtr,
uint32 partnerPublicValueLength);
/**********************************************************************************************************************
* Csm_JobKeyExchangeCalcSecretAsrR19_11()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_JobKeyExchangeCalcSecret44x().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] keyId Not used - keyId already given by corresponding job of passed jobId
* \param[in] partnerPublicValuePtr Holds the pointer to the memory location which contains the partner's public value.
* \param[in] partnerPublicValueLength Contains the length of the partner's public value in bytes.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_JobKeyExchangeCalcSecretAsrR19_11(uint32 jobId,
uint32 keyId,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) partnerPublicValuePtr,
uint32 partnerPublicValueLength);
/**********************************************************************************************************************
* Csm_JobKeyGenerateAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_JobKeyGenerate44x().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] keyId Not used - keyId already given by corresponding job of passed jobId
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_JobKeyGenerateAsr4_03(uint32 jobId, uint32 keyId);
/**********************************************************************************************************************
* Csm_JobKeyGenerateAsrR19_11()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_JobKeyGenerate44x().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] keyId Not used - keyId already given by corresponding job of passed jobId
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_JobKeyGenerateAsrR19_11(uint32 jobId, uint32 keyId);
/**********************************************************************************************************************
* Csm_JobKeySetInvalidAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_JobKeySetInvalid44x().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] keyId Not used - keyId already given by corresponding job of passed jobId
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_JobKeySetInvalidAsr4_03(uint32 jobId, uint32 keyId);
/**********************************************************************************************************************
* Csm_JobKeySetValidAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_JobKeySetValid44x().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] keyId Not used - keyId already given by corresponding job of passed jobId
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_JobKeySetValidAsr4_03(uint32 jobId, uint32 keyId);
/**********************************************************************************************************************
* Csm_JobKeySetValidAsrR19_11()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_JobKeySetValid44x().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] keyId Not used - keyId already given by corresponding job of passed jobId
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_JobKeySetValidAsrR19_11(uint32 jobId, uint32 keyId);
/**********************************************************************************************************************
* Csm_JobRandomSeedAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_JobRandomSeed44x().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] keyId Not used - keyId already given by corresponding job of passed jobId
* \param[in] seedPtr Holds a pointer to the memory location which contains the data to feed the seed.
* \param[in] seedLength Contains the length of the seed in bytes.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_JobRandomSeedAsr4_03(uint32 jobId,
uint32 keyId,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) seedPtr,
uint32 seedLength);
/**********************************************************************************************************************
* Csm_JobRandomSeedAsrR19_11()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_JobRandomSeed44x().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] keyId Not used - keyId already given by corresponding job of passed jobId
* \param[in] seedPtr Holds a pointer to the memory location which contains the data to feed the seed.
* \param[in] seedLength Contains the length of the seed in bytes.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_JobRandomSeedAsrR19_11(uint32 jobId,
uint32 keyId,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) seedPtr,
uint32 seedLength);
/**********************************************************************************************************************
* Csm_CertificateParseAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_CertificateParse().
* \details See original function for behavior, parameter and return value description.
* \param[in] keyId Holds the identifier of the key to be used for the certificate parsing.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, Crypto Driver Object is busy
* \context TASK
* \reentrant TRUE, but not for the same keyId
* \synchronous TRUE
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_CertificateParseAsr4_03(uint32 keyId);
/**********************************************************************************************************************
* Csm_CertificateVerifyAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_CertificateVerify().
* \details See original function for behavior, parameter and return value description.
* \param[in] keyId Holds the identifier of the key which shall be used to validate the certificate.
* \param[in] verifyKeyId Holds the identifier of the key containing the certificate to be verified.
* \param[out] verifyPtr Holds a pointer to the memory location which will contain the result of the certificate
* verification.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, Crypto Driver Object is busy
* \context TASK
* \reentrant TRUE, but not for the same keyId
* \synchronous TRUE
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_CertificateVerifyAsr4_03(uint32 keyId,
uint32 verifyKeyId,
P2VAR(Crypto_VerifyResultType, AUTOMATIC, CSM_APPL_VAR) verifyPtr);
/**********************************************************************************************************************
* Csm_KeyCopyAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_KeyCopy().
* \details See original function for behavior, parameter and return value description.
* \param[in] keyId Holds the identifier of the key whose key element shall be the source
* element.
* \param[in] targetKeyId Holds the identifier of the key whose key element shall be the
* destination element.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, Crypto Driver Object is busy
* CRYPTO_E_KEY_READ_FAIL Request failed because read access was denied
* CRYPTO_E_KEY_WRITE_FAIL Request failed because write access was denied
* CRYPTO_E_KEY_NOT_AVAILABLE Request failed because the key is not available
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element size does not match size of provided data
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same keyId
* \synchronous TRUE
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_KeyCopyAsr4_03(uint32 keyId, uint32 targetKeyId);
/**********************************************************************************************************************
* Csm_KeyCopyAsr4_04()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_KeyCopy().
* \details See original function for behavior, parameter and return value description.
* \param[in] keyId Holds the identifier of the key whose key element shall be the source
* element.
* \param[in] targetKeyId Holds the identifier of the key whose key element shall be the
* destination element.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, Crypto Driver Object is busy
* CRYPTO_E_KEY_READ_FAIL Request failed because read access was denied
* CRYPTO_E_KEY_WRITE_FAIL Request failed because write access was denied
* CRYPTO_E_KEY_NOT_AVAILABLE Request failed because the key is not available
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element size does not match size of provided data
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same keyId
* \synchronous TRUE
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_KeyCopyAsr4_04(uint32 keyId, uint32 targetKeyId);
/**********************************************************************************************************************
* Csm_KeyDeriveAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_KeyDerive().
* \details See original function for behavior, parameter and return value description.
* \param[in] keyId Holds the identifier of the key which is used for key derivation.
* \param[in] targetKeyId Holds the identifier of the key which is used to store the derived key.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_READ_FAIL Request failed, not allowed to extract key element
* CRYPTO_E_KEY_WRITE_FAIL Request failed, not allowed to write key element
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same keyId
* \synchronous TRUE
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_KeyDeriveAsr4_03(uint32 keyId, uint32 targetKeyId);
/**********************************************************************************************************************
* Csm_KeyDeriveAsr4_04()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_KeyDerive().
* \details See original function for behavior, parameter and return value description.
* \param[in] keyId Holds the identifier of the key which is used for key derivation.
* \param[in] targetKeyId Holds the identifier of the key which is used to store the derived key.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_READ_FAIL Request failed, not allowed to extract key element
* CRYPTO_E_KEY_WRITE_FAIL Request failed, not allowed to write key element
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same keyId
* \synchronous TRUE
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_KeyDeriveAsr4_04(uint32 keyId, uint32 targetKeyId);
/**********************************************************************************************************************
* Csm_KeyElementCopyAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_KeyElementCopy().
* \details See original function for behavior, parameter and return value description.
* \param[in] keyId Holds the identifier of the key whose key element shall be the source
* element.
* \param[in] keyElementId Holds the identifier of the key element which shall be the source for
* the copy operation.
* \param[in] targetKeyId Holds the identifier of the key whose key element shall be the
* destination element.
* \param[in] targetKeyElementId Holds the identifier of the key element which shall be the destination
* for the copy operation.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, Crypto Driver Object is busy
* CRYPTO_E_KEY_READ_FAIL Request failed because read access was denied
* CRYPTO_E_KEY_WRITE_FAIL Request failed because write access was denied
* CRYPTO_E_KEY_NOT_AVAILABLE Request failed because the key is not available
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same keyId
* \synchronous TRUE
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_KeyElementCopyAsr4_03(uint32 keyId,
uint32 keyElementId,
uint32 targetKeyId,
uint32 targetKeyElementId);
/**********************************************************************************************************************
* Csm_KeyElementCopyAsr4_04()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_KeyElementCopy().
* \details See original function for behavior, parameter and return value description.
* \param[in] keyId Holds the identifier of the key whose key element shall be the source
* element.
* \param[in] keyElementId Holds the identifier of the key element which shall be the source for
* the copy operation.
* \param[in] targetKeyId Holds the identifier of the key whose key element shall be the
* destination element.
* \param[in] targetKeyElementId Holds the identifier of the key element which shall be the destination
* for the copy operation.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, Crypto Driver Object is busy
* CRYPTO_E_KEY_READ_FAIL Request failed because read access was denied
* CRYPTO_E_KEY_WRITE_FAIL Request failed because write access was denied
* CRYPTO_E_KEY_NOT_AVAILABLE Request failed because the key is not available
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same keyId
* \synchronous TRUE
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_KeyElementCopyAsr4_04(uint32 keyId,
uint32 keyElementId,
uint32 targetKeyId,
uint32 targetKeyElementId);
/**********************************************************************************************************************
* Csm_KeyElementCopyPartialAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_KeyElementCopyPartial().
* \details See original function for behavior, parameter and return value description.
* \param[in] keyId Holds the identifier of the key whose key element shall be the source
* element.
* \param[in] keyElementId Holds the identifier of the key element which shall be the source for the
* copy operation.
* \param[in] keyElementSourceOffset This is the offset of the source key element indicating the start index
* of the copy operation.
* \param[in] keyElementTargetOffset This is the offset of the destination key element indicating the start index
* of the copy operation.
* \param[in] keyElementCopyLength Specifies the number of bytes that shall be copied.
* \param[in] targetKeyId Holds the identifier of the key whose key element shall be the destination
* element.
* \param[in] targetKeyElementId Holds the identifier of the key element which shall be the destination for
* the copy operation.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, Crypto Driver Object is busy
* CRYPTO_E_KEY_READ_FAIL Request failed because read access was denied
* CRYPTO_E_KEY_WRITE_FAIL Request failed because write access was denied
* CRYPTO_E_KEY_NOT_AVAILABLE Request failed because the key is not available
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element sizes are not compatible
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same keyId
* \synchronous TRUE
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_KeyElementCopyPartialAsr4_03(uint32 keyId,
uint32 keyElementId,
uint32 keyElementSourceOffset,
uint32 keyElementTargetOffset,
uint32 keyElementCopyLength,
uint32 targetKeyId,
uint32 targetKeyElementId);
/**********************************************************************************************************************
* Csm_KeyElementGetAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_KeyElementGet().
* \details See original function for behavior, parameter and return value description.
* \param[in] keyId Holds the identifier of the key from which a key element shall be
* extracted.
* \param[in] keyElementId Holds the identifier of the key element to be extracted.
* \param[out] keyPtr Holds the pointer to the memory location where the key shall be copied
* to.
* \param[in,out] keyLengthPtr Holds a pointer to the memory location in which the output buffer length
* in bytes is stored. On calling this function, this parameter shall
* contain the buffer length in bytes of the keyPtr. When the request has
* finished, the actual size of the written input bytes shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, Crypto Driver Object is busy
* CRYPTO_E_KEY_READ_FAIL Request failed because read access was denied
* CRYPTO_E_KEY_NOT_AVAILABLE Request failed because the key is not available
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same keyId
* \synchronous TRUE
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_KeyElementGetAsr4_03(uint32 keyId,
uint32 keyElementId,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) keyPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) keyLengthPtr);
/**********************************************************************************************************************
* Csm_KeyElementGetAsr4_04()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_KeyElementGet().
* \details See original function for behavior, parameter and return value description.
* \param[in] keyId Holds the identifier of the key from which a key element shall be
* extracted.
* \param[in] keyElementId Holds the identifier of the key element to be extracted.
* \param[out] keyPtr Holds the pointer to the memory location where the key shall be copied
* to.
* \param[in,out] keyLengthPtr Holds a pointer to the memory location in which the output buffer length
* in bytes is stored. On calling this function, this parameter shall
* contain the buffer length in bytes of the keyPtr. When the request has
* finished, the actual size of the written input bytes shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, Crypto Driver Object is busy
* CRYPTO_E_KEY_READ_FAIL Request failed because read access was denied
* CRYPTO_E_KEY_NOT_AVAILABLE Request failed because the key is not available
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER The provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same keyId
* \synchronous TRUE
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_KeyElementGetAsr4_04(uint32 keyId,
uint32 keyElementId,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) keyPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) keyLengthPtr);
/**********************************************************************************************************************
* Csm_KeyElementSetAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_KeyElementSet().
* \details See original function for behavior, parameter and return value description.
* \param[in] keyId Holds the identifier of the key for which a new material shall be set.
* \param[in] keyElementId Holds the identifier of the key element to be written.
* \param[in] keyPtr Holds the pointer to the key element bytes to be processed.
* \param[in] keyLength Contains the number of key element bytes.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, Crypto Driver Object is busy
* CRYPTO_E_KEY_WRITE_FAIL Request failed because write access was denied.
* CRYPTO_E_KEY_NOT_AVAILABLE Request failed because the key is not available
* CRYPTO_E_KEY_SIZE_MISMATCH Request failed, key element size does not match size of provided data.
* \context TASK
* \reentrant TRUE, but not for the same keyId
* \synchronous TRUE
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_KeyElementSetAsr4_03(uint32 keyId,
uint32 keyElementId,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) keyPtr,
uint32 keyLength);
/**********************************************************************************************************************
* Csm_KeyExchangeCalcPubValAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_KeyExchangeCalcPubVal().
* \details See original function for behavior, parameter and return value description.
* \param[in] keyId Holds the identifier of the key which shall be used for the key exchange
* protocol.
* \param[out] publicValuePtr Contains the pointer to the data where the public value shall be stored.
* \param[in,out] publicValueLengthPtr Holds a pointer to the memory location in which the public value length
* information is stored. On calling this function, this parameter shall
* contain the size of the buffer provided by publicValuePtr. When the request
* has finished, the actual length of the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, Crypto Driver Object is busy
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER Request failed because the provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same keyId
* \synchronous TRUE
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_KeyExchangeCalcPubValAsr4_03(uint32 keyId,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) publicValuePtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) publicValueLengthPtr);
/**********************************************************************************************************************
* Csm_KeyExchangeCalcPubValAsr4_04()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_KeyExchangeCalcPubVal().
* \details See original function for behavior, parameter and return value description.
* \param[in] keyId Holds the identifier of the key which shall be used for the key exchange
* protocol.
* \param[out] publicValuePtr Contains the pointer to the data where the public value shall be stored.
* \param[in,out] publicValueLengthPtr Holds a pointer to the memory location in which the public value length
* information is stored. On calling this function, this parameter shall
* contain the size of the buffer provided by publicValuePtr. When the request
* has finished, the actual length of the returned value shall be stored.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, Crypto Driver Object is busy
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* CRYPTO_E_SMALL_BUFFER Request failed because the provided buffer is too small to store the result
* \context TASK
* \reentrant TRUE, but not for the same keyId
* \synchronous TRUE
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_KeyExchangeCalcPubValAsr4_04(uint32 keyId,
P2VAR(uint8, AUTOMATIC, CSM_APPL_VAR) publicValuePtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) publicValueLengthPtr);
/**********************************************************************************************************************
* Csm_KeyExchangeCalcSecretAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_KeyExchangeCalcSecret().
* \details See original function for behavior, parameter and return value description.
* \param[in] keyId Holds the identifier of the key which shall be used for the key exchange
* protocol.
* \param[in] partnerPublicValuePtr Holds the pointer to the memory location which contains the partner's
* public value.
* \param[in] partnerPublicValueLength Contains the length of the partner's public value in bytes.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same keyId
* \synchronous TRUE
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_KeyExchangeCalcSecretAsr4_03(uint32 keyId,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) partnerPublicValuePtr,
uint32 partnerPublicValueLength);
/**********************************************************************************************************************
* Csm_KeyExchangeCalcSecretAsr4_04()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_KeyExchangeCalcSecret().
* \details See original function for behavior, parameter and return value description.
* \param[in] keyId Holds the identifier of the key which shall be used for the key exchange
* protocol.
* \param[in] partnerPublicValuePtr Holds the pointer to the memory location which contains the partner's
* public value.
* \param[in] partnerPublicValueLength Contains the length of the partner's public value in bytes.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same keyId
* \synchronous TRUE
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_KeyExchangeCalcSecretAsr4_04(uint32 keyId,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) partnerPublicValuePtr,
uint32 partnerPublicValueLength);
/**********************************************************************************************************************
* Csm_KeyGenerateAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_KeyGenerate().
* \details See original function for behavior, parameter and return value description.
* \param[in] keyId Holds the identifier of the key for which a new material shall be generated.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, Crypto Driver Object is busy
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same keyId
* \synchronous TRUE
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_KeyGenerateAsr4_03(uint32 keyId);
/**********************************************************************************************************************
* Csm_KeyGenerateAsr4_04()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_KeyGenerate().
* \details See original function for behavior, parameter and return value description.
* \param[in] keyId Holds the identifier of the key for which a new material shall be generated.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, Crypto Driver Object is busy
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* CRYPTO_E_KEY_EMPTY Request failed because of uninitialized source key element
* \context TASK
* \reentrant TRUE, but not for the same keyId
* \synchronous TRUE
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_KeyGenerateAsr4_04(uint32 keyId);
/**********************************************************************************************************************
* Csm_KeySetValidAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_KeySetValid().
* \details See original function for behavior, parameter and return value description.
* \param[in] keyId Holds the identifier of the key for which a new material shall be validated.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, Crypto Driver Object is busy
* \context TASK
* \reentrant TRUE, but not for the same keyId
* \synchronous TRUE
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_KeySetValidAsr4_03(uint32 keyId);
/**********************************************************************************************************************
* Csm_RandomSeedAsr4_03()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_RandomSeed().
* \details See original function for behavior, parameter and return value description.
* \param[in] keyId Holds the identifier of the key for which a new seed shall be generated.
* \param[in] seedPtr Holds a pointer to the memory location which contains the data to feed the
* seed.
* \param[in] seedLength Contains the length of the seed in bytes.
* \return E_OK Request successful
* E_NOT_OK Request failed
* CRYPTO_E_BUSY Request failed, Crypto Driver Object is busy
* CRYPTO_E_KEY_NOT_VALID Request failed, the key's state is "invalid"
* \context TASK
* \reentrant TRUE, but not for the same keyId
* \synchronous TRUE
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_RandomSeedAsr4_03(uint32 keyId,
P2CONST(uint8, AUTOMATIC, CSM_APPL_VAR) seedPtr,
uint32 seedLength);
/**********************************************************************************************************************
* Csm_SaveContextJobWithVoidPtr()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_SaveContextJob().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[out] contextBufferPtr Pointer to the buffer in the application where the context data shall be
* stored to.
* \param[in,out] contextBufferLengthPtr Pointer to the buffer, where the length value is located.As input data it
* provides the maximum length of data available in contextBufferPtr.As
* output data it provides the actual length of data located in context
* BufferPtr(or 0 in case of a failure)
* \return E_OK Context data successfully provided.
* E_NOT_OK Context data could not be provided, values are not valid.
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_SaveContextJobWithVoidPtr(uint32 jobId,
P2VAR(void, AUTOMATIC, CSM_APPL_VAR) contextBufferPtr,
P2VAR(uint32, AUTOMATIC, CSM_APPL_VAR) contextBufferLengthPtr);
/**********************************************************************************************************************
* Csm_RestoreContextJobWithVoidPtr()
*********************************************************************************************************************/
/*! \brief Wrapper function of Csm_RestoreContextJob().
* \details See original function for behavior, parameter and return value description.
* \param[in] jobId Holds the identifier of the job using the CSM service.
* \param[in] contextBufferPtr Pointer to the buffer, where the context data are located that
* shall be restored.
* \param[in] contextBufferLength Provides the length of context data that are located in contextBufferPtr.
* \return E_OK Context data successfully restored.
* E_NOT_OK Context data could not be restored.
* CRYPTO_E_BUSY Request failed, service is busy or queue is full
* \context TASK
* \reentrant TRUE, but not for the same jobId (will be rejected with CRYPTO_E_BUSY)
* \synchronous TRUE|FALSE Depends on given job.
* \pre -
* \note Shall only be called by Rte.
* The returned value is defined by the underlying Crypto Driver and may differ from the listed ones.
*********************************************************************************************************************/
extern FUNC(Std_ReturnType, CSM_CODE) Csm_RestoreContextJobWithVoidPtr(uint32 jobId,
P2VAR(void, AUTOMATIC, CSM_APPL_VAR) contextBufferPtr,
uint32 contextBufferLength);
# define CSM_STOP_SEC_CODE
# include "MemMap.h" /* PRQA S 5087 */ /* MD_MSR_MemMap */
# endif /* (CSM_RTE_PORTS == STD_ON) */
#endif /* !defined (CSM_RTE_H) */
/**********************************************************************************************************************
* END OF FILE: Csm_Rte.h
*********************************************************************************************************************/