#include <mcuxClExample_ELS_Helper.h>
#include <mcuxClExample_Session_Helper.h>
#include <mcuxClExample_RNG_Helper.h>
#include <mcuxClCore_Examples.h>
#define RAM_START_ADDRESS MCUXCLPKC_RAM_START_ADDRESS
#define MAX_CPUWA_SIZE MCUXCLEXAMPLE_MAX(MCUXCLEXAMPLE_MAX(\
MCUXCLECC_EDDSA_GENERATEKEYPAIR_ED25519_WACPU_SIZE,\
MCUXCLECC_EDDSA_GENERATESIGNATURE_ED25519_WACPU_SIZE),\
MCUXCLECC_EDDSA_VERIFYSIGNATURE_ED25519_WACPU_SIZE)
#define MAX_PKCWA_SIZE MCUXCLEXAMPLE_MAX(MCUXCLEXAMPLE_MAX(\
MCUXCLECC_EDDSA_GENERATEKEYPAIR_ED25519_WAPKC_SIZE,\
MCUXCLECC_EDDSA_GENERATESIGNATURE_ED25519_WAPKC_SIZE),\
MCUXCLECC_EDDSA_VERIFYSIGNATURE_ED25519_WAPKC_SIZE)
static uint8_t const input[] = {0x11u, 0x11u, 0x11u, 0x11u,
0x11u, 0x11u, 0x11u, 0x11u,
0x11u, 0x11u, 0x11u, 0x11u,
0x11u, 0x11u, 0x11u, 0x11u,
0x11u, 0x11u, 0x11u, 0x11u,
0x11u, 0x11u, 0x11u, 0x11u,
0x11u, 0x11u, 0x11u, 0x11u,
0x11u, 0x11u, 0x11u, 0x11u};
{
{
return MCUXCLEXAMPLE_ERROR;
}
MCUXCLEXAMPLE_ALLOCATE_AND_INITIALIZE_SESSION(&session, MAX_CPUWA_SIZE, MAX_PKCWA_SIZE);
MCUXCLEXAMPLE_ALLOCATE_AND_INITIALIZE_RNG(&session, 0u, mcuxClRandomModes_Mode_ELS_Drbg);
uint8_t privKeyDesc[MCUXCLKEY_DESCRIPTOR_SIZE];
uint8_t pubKeyDesc[MCUXCLKEY_DESCRIPTOR_SIZE];
&session,
privKey,
sizeof(pPrivKeyData)));
{
return MCUXCLEXAMPLE_ERROR;
}
&session,
pubKey,
sizeof(pPubKeyData)));
{
return MCUXCLEXAMPLE_ERROR;
}
&session,
&mcuxClEcc_EdDsa_GeneratePrivKeyDescriptor,
privKey,
pubKey));
{
return MCUXCLEXAMPLE_ERROR;
}
uint32_t signatureSize = 0u;
&session,
privKey,
&mcuxClEcc_EdDsa_Ed25519ProtocolDescriptor,
input,
sizeof(input),
signature_buffer,
&signatureSize));
{
return MCUXCLEXAMPLE_ERROR;
}
&session,
pubKey,
&mcuxClEcc_EdDsa_Ed25519ProtocolDescriptor,
input,
sizeof(input),
signature_buffer,
signatureSize
));
{
return MCUXCLEXAMPLE_ERROR;
}
if(!mcuxClExample_Session_Clean(&session))
{
return MCUXCLEXAMPLE_ERROR;
}
if(!mcuxClExample_Els_Disable())
{
return MCUXCLEXAMPLE_ERROR;
}
return true;
}