19#include "hitls_build.h"
20#ifdef HITLS_CRYPTO_ECDSA
23#include "crypt_types.h"
24#include "crypt_local_types.h"
25#include "crypt_ecc_pkey.h"
27#include "bsl_params.h"
35typedef struct ECC_PkeyCtx CRYPT_ECDSA_Ctx;
38typedef struct EccPara CRYPT_EcdsaPara;
47CRYPT_ECDSA_Ctx *CRYPT_ECDSA_NewCtx(
void);
58CRYPT_ECDSA_Ctx *CRYPT_ECDSA_NewCtxEx(
void *libCtx);
69#define CRYPT_ECDSA_DupCtx ECC_DupCtx
77#define CRYPT_ECDSA_FreeCtx ECC_FreeCtx
89#define CRYPT_ECDSA_NewParaById ECC_NewPara
101CRYPT_EcdsaPara *CRYPT_ECDSA_NewPara(
const CRYPT_EccPara *eccPara);
119#define CRYPT_ECDSA_FreePara ECC_FreePara
132int32_t CRYPT_ECDSA_SetPara(CRYPT_ECDSA_Ctx *ctx,
const CRYPT_EccPara *para);
145#define CRYPT_ECDSA_GetPara ECC_GetPara
156#define CRYPT_ECDSA_GetBits ECC_PkeyGetBits
167uint32_t CRYPT_ECDSA_GetSignLen(
const CRYPT_ECDSA_Ctx *ctx);
180#define CRYPT_ECDSA_Gen ECC_PkeyGen
203int32_t CRYPT_ECDSA_Sign(
const CRYPT_ECDSA_Ctx *ctx, int32_t algId,
const uint8_t *data, uint32_t dataLen,
204 uint8_t *sign, uint32_t *signLen);
226int32_t CRYPT_ECDSA_SignData(
const CRYPT_ECDSA_Ctx *ctx,
const uint8_t *data, uint32_t dataLen,
227 uint8_t *sign, uint32_t *signLen);
248int32_t CRYPT_ECDSA_Verify(
const CRYPT_ECDSA_Ctx *ctx, int32_t algId,
const uint8_t *data, uint32_t dataLen,
249 const uint8_t *sign, uint32_t signLen);
269int32_t CRYPT_ECDSA_VerifyData(
const CRYPT_ECDSA_Ctx *ctx,
const uint8_t *data, uint32_t dataLen,
270 const uint8_t *sign, uint32_t signLen);
284#define CRYPT_ECDSA_SetPrvKey ECC_PkeySetPrvKey
298#define CRYPT_ECDSA_SetPubKey ECC_PkeySetPubKey
312#define CRYPT_ECDSA_GetPrvKey ECC_PkeyGetPrvKey
326#define CRYPT_ECDSA_GetPubKey ECC_PkeyGetPubKey
328#ifdef HITLS_BSL_PARAMS
341#define CRYPT_ECDSA_SetPrvKeyEx ECC_PkeySetPrvKeyEx
355#define CRYPT_ECDSA_SetPubKeyEx ECC_PkeySetPubKeyEx
369#define CRYPT_ECDSA_GetPrvKeyEx ECC_PkeyGetPrvKeyEx
383#define CRYPT_ECDSA_GetPubKeyEx ECC_PkeyGetPubKeyEx
396int32_t CRYPT_ECDSA_SetParaEx(CRYPT_ECDSA_Ctx *ctx,
const BSL_Param *para);
409#define CRYPT_ECDSA_GetParaEx ECC_GetParaEx
427int32_t CRYPT_ECDSA_Ctrl(CRYPT_ECDSA_Ctx *ctx, int32_t opt,
void *val, uint32_t len);
439#define CRYPT_ECDSA_Cmp ECC_PkeyCmp
449int32_t CRYPT_ECDSA_GetSecBits(
const CRYPT_ECDSA_Ctx *ctx);
451#ifdef HITLS_CRYPTO_KEY_DECODE_CHAIN
459int32_t CRYPT_ECDSA_Import(CRYPT_ECDSA_Ctx *ctx,
const BSL_Param *params);
468int32_t CRYPT_ECDSA_Export(
const CRYPT_ECDSA_Ctx *ctx, BSL_Param *params);
472#ifdef HITLS_CRYPTO_ECDSA_CHECK
484int32_t CRYPT_ECDSA_Check(uint32_t checkType,
const CRYPT_ECDSA_Ctx *pkey1,
const CRYPT_ECDSA_Ctx *pkey2);
CRYPT_PKEY_ParaId
定义 crypt_algid.h:208