#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <wolfssl/wolfcrypt/settings.h>
#ifdef WOLFSSL_AUTOSAR
#ifndef NO_WOLFSSL_AUTOSAR_CRYIF
#include <wolfssl/version.h>
#include <wolfssl/wolfcrypt/port/autosar/Csm.h>
#include <wolfssl/wolfcrypt/port/autosar/CryIf.h>
#include <wolfssl/wolfcrypt/port/autosar/Crypto.h>
#include <wolfssl/wolfcrypt/logging.h>
void CryIf_Init(const CryIf_ConfigType* in)
{
(void)in;
Crypto_Init(NULL);
}
void CryIf_GetVersionInfo(Std_VersionInfoType* ver)
{
if (ver != NULL) {
ver->vendorID = 0;
ver->moduleID = 0;
ver->sw_major_version = (LIBWOLFSSL_VERSION_HEX >> 24) & 0xFFF;
ver->sw_minor_version = (LIBWOLFSSL_VERSION_HEX >> 12) & 0xFFF;
ver->sw_patch_version = (LIBWOLFSSL_VERSION_HEX) & 0xFFF;
}
}
Std_ReturnType CryIf_ProcessJob(uint32 id, Crypto_JobType* job)
{
WOLFSSL_ENTER("CryIf_ProcessJob");
if (job == NULL) {
return E_NOT_OK;
}
if (job->jobPrimitiveInfo->processingType != CRYPTO_PROCESSING_SYNC) {
WOLFSSL_MSG("Crypto Interface only supporting synchronous jobs");
return E_NOT_OK;
}
return Crypto_ProcessJob(id, job);
}
Std_ReturnType CryIf_CancelJob(uint32 id, Crypto_JobType* job)
{
(void)id;
(void)job;
WOLFSSL_STUB("CryIf_CancelJob");
return E_NOT_OK;
}
Std_ReturnType CryIf_KeyElementSet(uint32 keyId, uint32 eId, const uint8* key,
uint32 keySz)
{
if (key == NULL || keySz == 0) {
return E_NOT_OK;
}
return Crypto_KeyElementSet(keyId, eId, key, keySz);
}
#endif
#endif