16#ifndef CRYPT_DEFAULT_H
17#define CRYPT_DEFAULT_H
19#include "hitls_crypt_type.h"
20#include "hitls_crypt_reg.h"
21#include "hitls_crypt.h"
22#include "crypt_eal_rand.h"
37#ifdef HITLS_CRYPTO_DRBG
38#define CRYPT_DEFAULT_RandomBytes CRYPT_EAL_Randbytes
40#define CRYPT_DEFAULT_RandomBytes NULL
50#define CRYPT_DEFAULT_HMAC_Size CRYPT_DEFAULT_DigestSize
61HITLS_HMAC_Ctx *CRYPT_DEFAULT_HMAC_Init(HITLS_HashAlgo hashAlgo,
const uint8_t *key, uint32_t len);
71#define CRYPT_DEFAULT_HMAC_ReInit HITLS_CRYPT_HMAC_ReInit
78#define CRYPT_DEFAULT_HMAC_Free HITLS_CRYPT_HMAC_Free
90#define CRYPT_DEFAULT_HMAC_Update HITLS_CRYPT_HMAC_Update
102#define CRYPT_DEFAULT_HMAC_Final HITLS_CRYPT_HMAC_Final
118int32_t CRYPT_DEFAULT_HMAC(HITLS_HashAlgo hashAlgo,
const uint8_t *key, uint32_t keyLen,
119 const uint8_t *in, uint32_t inLen, uint8_t *out, uint32_t *outLen);
128#define CRYPT_DEFAULT_DigestSize HITLS_CRYPT_DigestSize
137HITLS_HASH_Ctx *CRYPT_DEFAULT_DigestInit(HITLS_HashAlgo hashAlgo);
146#define CRYPT_DEFAULT_DigestCopy HITLS_CRYPT_DigestCopy
153#define CRYPT_DEFAULT_DigestFree HITLS_CRYPT_DigestFree
165#define CRYPT_DEFAULT_DigestUpdate HITLS_CRYPT_DigestUpdate
177#define CRYPT_DEFAULT_DigestFinal HITLS_CRYPT_DigestFinal
191int32_t CRYPT_DEFAULT_Digest(HITLS_HashAlgo hashAlgo,
const uint8_t *in, uint32_t inLen,
192 uint8_t *out, uint32_t *outLen);
207 uint8_t *out, uint32_t *outLen);
222 uint8_t *out, uint32_t *outLen);
229#define CRYPT_DEFAULT_CipherFree HITLS_CRYPT_CipherFree
248HITLS_CRYPT_Key *CRYPT_DEFAULT_GenerateDhKeyBySecbits(int32_t secbits);
260HITLS_CRYPT_Key *CRYPT_DEFAULT_GenerateDhKeyByParameters(uint8_t *p, uint16_t pLen, uint8_t *g, uint16_t gLen);
274#ifdef HITLS_TLS_SUITE_KX_DHE
275#define CRYPT_DEFAULT_GetDhParameters HITLS_CRYPT_GetDhParameters
277#define CRYPT_DEFAULT_GetDhParameters NULL
285#ifdef HITLS_TLS_CONFIG_MANUAL_DH
286#define CRYPT_DEFAULT_DupKey HITLS_CRYPT_DupKey
294#define CRYPT_DEFAULT_FreeKey HITLS_CRYPT_FreeKey
307#define CRYPT_DEFAULT_GetPubKey HITLS_CRYPT_GetPubKey
321int32_t CRYPT_DEFAULT_DhCalcSharedSecret(HITLS_CRYPT_Key *key, uint8_t *peerPubkey, uint32_t pubKeyLen,
322 uint8_t *sharedSecret, uint32_t *sharedSecretLen);
337int32_t CRYPT_DEFAULT_EcdhCalcSharedSecret(HITLS_CRYPT_Key *key, uint8_t *peerPubkey, uint32_t pubKeyLen,
338 uint8_t *sharedSecret, uint32_t *sharedSecretLen);
351 uint8_t *sharedSecret, uint32_t *sharedSecretLen);
398#ifdef HITLS_TLS_FEATURE_KEM
399#define CRYPT_DEFAULT_KemDecapsulate HITLS_CRYPT_KemDecapsulate
struct TlsCtx HITLS_Ctx
HITLS context
定义 hitls_type.h:35
Key parameters
定义 hitls_crypt_type.h:235
Elliptic curve parameter
定义 hitls_crypt_type.h:222
Input parameters for KEM encapsulation
定义 hitls_crypt_reg.h:36
sm2 ecdhe negotiation key parameters
定义 hitls_crypt_type.h:254