19#include "hitls_build.h"
20#ifdef HITLS_CRYPTO_SM2
24#include "crypt_local_types.h"
25#include "crypt_ecc_pkey.h"
26#include "sal_atomic.h"
32#define SM2_MAX_ID_BITS 65535
33#define SM2_MAX_ID_LENGTH (SM2_MAX_ID_BITS / 8)
34#define SM2_MAX_PUBKEY_DATA_LENGTH 65
37#define SM2_POINT_SINGLE_COORDINATE_LEN 32
38#define SM2_POINT_COORDINATE_LEN 65
39#define SM2_TWO_POINT_COORDINATE_LEN 128
42#ifdef HITLS_CRYPTO_ACVP_TESTS
53 const EAL_MdMethod *hashMethod;
58 uint8_t sumCheck[SM3_MD_SIZE];
59 uint8_t sumSend[SM3_MD_SIZE];
61 BSL_SAL_RefCount references;
63#ifdef HITLS_CRYPTO_ACVP_TESTS
79int32_t Sm2ComputeZDigest(
const CRYPT_SM2_Ctx *ctx, uint8_t *out, uint32_t *outLen);
81#if defined(HITLS_CRYPTO_SM2_EXCH) || defined(HITLS_CRYPTO_SM2_CRYPT)
95int32_t KdfGmt0032012(uint8_t *out,
const uint32_t *outlen,
const uint8_t *z, uint32_t zlen,
98#ifdef HITLS_CRYPTO_ACVP_TESTS
106int32_t CRYPT_SM2_SetK(CRYPT_SM2_Ctx *ctx, uint8_t *val, uint32_t len);
定义 crypt_local_types.h:63