My Project
Functions
Setup ECCSI Key

Functions

int wc_InitEccsiKey (EccsiKey *key, void *heap, int devId)
 
int wc_InitEccsiKey_ex (EccsiKey *key, int keySz, int curveId, void *heap, int devId)
 
void wc_FreeEccsiKey (EccsiKey *key)
 
int wc_MakeEccsiKey (EccsiKey *key, WC_RNG *rng)
 
int wc_ExportEccsiKey (EccsiKey *key, byte *data, word32 *sz)
 
int wc_ImportEccsiKey (EccsiKey *key, const byte *data, word32 sz)
 
int wc_ExportEccsiPrivateKey (EccsiKey *key, byte *data, word32 *sz)
 
int wc_ImportEccsiPrivateKey (EccsiKey *key, const byte *data, word32 sz)
 
int wc_ExportEccsiPublicKey (EccsiKey *key, byte *data, word32 *sz, int raw)
 
int wc_ImportEccsiPublicKey (EccsiKey *key, const byte *data, word32 sz, int trusted)
 
int wc_SetEccsiHash (EccsiKey *key, const byte *hash, byte hashSz)
 
int wc_SetEccsiPair (EccsiKey *key, const mp_int *ssk, const ecc_point *pvt)
 

Detailed Description

Operations for establinshing an ECCSI key.

Initialize ECCSI Key before use (wc_InitEccsiKey()).
Initialize ECCSI Key before use (wc_InitEccsiKey_ex()) for use with a curve other than P256.
Either make a new key (wc_MakeEccsiKey()), import an existing key (wc_ImportEccsiKey()) or import existing private key (wc_ImportEccsiPrivateKey()) and public key (wc_ImportEccsiPublicKey()).
Export the key (wc_ExportEccsiKey()) after making a new key for future use.
Export the private key (wc_ExportEccsiPrivateKey()) after making a new key for future use.
Export the public key (wc_ExportEccsiPublicKey()) from KMS to pass to client.
Import the public key (wc_ImportEccsiPublicKey()) into client.
Free the ECCSI Key (wc_FreeEccsiKey()) when finished.

Function Documentation

◆ wc_ExportEccsiKey()

int wc_ExportEccsiKey ( EccsiKey *  key,
byte *  data,
word32 *  sz 
)

◆ wc_ExportEccsiPrivateKey()

int wc_ExportEccsiPrivateKey ( EccsiKey *  key,
byte *  data,
word32 *  sz 
)

◆ wc_ExportEccsiPublicKey()

int wc_ExportEccsiPublicKey ( EccsiKey *  key,
byte *  data,
word32 *  sz,
int  raw 
)

◆ wc_FreeEccsiKey()

void wc_FreeEccsiKey ( EccsiKey *  key)

◆ wc_ImportEccsiKey()

int wc_ImportEccsiKey ( EccsiKey *  key,
const byte *  data,
word32  sz 
)

◆ wc_ImportEccsiPrivateKey()

int wc_ImportEccsiPrivateKey ( EccsiKey *  key,
const byte *  data,
word32  sz 
)

◆ wc_ImportEccsiPublicKey()

int wc_ImportEccsiPublicKey ( EccsiKey *  key,
const byte *  data,
word32  sz,
int  trusted 
)

◆ wc_InitEccsiKey()

int wc_InitEccsiKey ( EccsiKey *  key,
void *  heap,
int  devId 
)

◆ wc_InitEccsiKey_ex()

int wc_InitEccsiKey_ex ( EccsiKey *  key,
int  keySz,
int  curveId,
void *  heap,
int  devId 
)

◆ wc_MakeEccsiKey()

int wc_MakeEccsiKey ( EccsiKey *  key,
WC_RNG *  rng 
)

◆ wc_SetEccsiHash()

int wc_SetEccsiHash ( EccsiKey *  key,
const byte *  hash,
byte  hashSz 
)

◆ wc_SetEccsiPair()

int wc_SetEccsiPair ( EccsiKey *  key,
const mp_int *  ssk,
const ecc_point *  pvt 
)