Skip to content

Setup ECCSI Key

More...

Functions

Name
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.

Functions Documentation

function wc_InitEccsiKey

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

function wc_InitEccsiKey_ex

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

function wc_FreeEccsiKey

void wc_FreeEccsiKey(
    EccsiKey * key
)

function wc_MakeEccsiKey

int wc_MakeEccsiKey(
    EccsiKey * key,
    WC_RNG * rng
)

function wc_ExportEccsiKey

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

function wc_ImportEccsiKey

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

function wc_ExportEccsiPrivateKey

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

function wc_ImportEccsiPrivateKey

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

function wc_ExportEccsiPublicKey

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

function wc_ImportEccsiPublicKey

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

function wc_SetEccsiHash

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

function wc_SetEccsiPair

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

Updated on 2024-03-19 at 01:20:40 +0000