/********************************************************************************************************************** * 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 *********************************************************************************************************************/