16#ifndef CRYPT_KDF_TLS12_H
17#define CRYPT_KDF_TLS12_H
19#include "hitls_build.h"
20#ifdef HITLS_CRYPTO_KDFTLS12
23#include "crypt_local_types.h"
24#include "bsl_params.h"
30typedef struct CryptKdfTls12Ctx CRYPT_KDFTLS12_Ctx;
39CRYPT_KDFTLS12_Ctx* CRYPT_KDFTLS12_NewCtx(
void);
51CRYPT_KDFTLS12_Ctx *CRYPT_KDFTLS12_NewCtxEx(
void *libCtx, int32_t algId);
63int32_t CRYPT_KDFTLS12_SetParam(CRYPT_KDFTLS12_Ctx *ctx,
const BSL_Param *param);
76int32_t CRYPT_KDFTLS12_Derive(CRYPT_KDFTLS12_Ctx *ctx, uint8_t *out, uint32_t len);
87int32_t CRYPT_KDFTLS12_Deinit(CRYPT_KDFTLS12_Ctx *ctx);
95void CRYPT_KDFTLS12_FreeCtx(CRYPT_KDFTLS12_Ctx *ctx);
104CRYPT_KDFTLS12_Ctx *CRYPT_KDFTLS12_DupCtx(
const CRYPT_KDFTLS12_Ctx *ctx);