22#ifndef CRYPT_EAL_CODECS_H
23#define CRYPT_EAL_CODECS_H
25#include "bsl_params.h"
28#include "crypt_eal_pkey.h"
29#include "crypt_eal_provider.h"
35typedef struct CRYPT_DecoderCtx CRYPT_DECODER_Ctx;
45CRYPT_DECODER_Ctx *CRYPT_DECODE_ProviderNewCtx(CRYPT_EAL_LibCtx *libCtx, int32_t pkeyAlgId,
const char *attrName);
52void CRYPT_DECODE_Free(CRYPT_DECODER_Ctx *ctx);
61int32_t CRYPT_DECODE_SetParam(CRYPT_DECODER_Ctx *ctx,
const BSL_Param *param);
70int32_t CRYPT_DECODE_GetParam(CRYPT_DECODER_Ctx *ctx, BSL_Param *param);
80int32_t CRYPT_DECODE_Decode(CRYPT_DECODER_Ctx *ctx,
const BSL_Param *inParam, BSL_Param **outParam);
88void CRYPT_DECODE_FreeOutData(CRYPT_DECODER_Ctx *ctx, BSL_Param *outData);
90typedef struct CRYPT_DECODER_PoolCtx CRYPT_DECODER_PoolCtx;
97 CRYPT_DECODE_POOL_CMD_SET_TARGET_FORMAT,
99 CRYPT_DECODE_POOL_CMD_SET_TARGET_TYPE,
101 CRYPT_DECODE_POOL_CMD_SET_FLAG_FREE_OUT_DATA,
102} CRYPT_DECODE_POOL_CMD;
126CRYPT_DECODER_PoolCtx *CRYPT_DECODE_PoolNewCtx(CRYPT_EAL_LibCtx *libCtx,
const char *attrName,
127 int32_t pkeyAlgId,
const char *format,
const char *type);
134void CRYPT_DECODE_PoolFreeCtx(CRYPT_DECODER_PoolCtx *poolCtx);
144int32_t CRYPT_DECODE_PoolDecode(CRYPT_DECODER_PoolCtx *poolCtx,
const BSL_Param *inParam, BSL_Param **outParam);
155int32_t CRYPT_DECODE_PoolCtrl(CRYPT_DECODER_PoolCtx *poolCtx, int32_t cmd,
void *val, int32_t valLen);
271 int32_t format, int32_t type,
BSL_Buffer *encode);
317 int32_t format, int32_t type,
const char *path);
347 const CRYPT_EncodeParam *encodeParam,
const char *format,
const char *type,
const char *path);
int32_t CRYPT_EAL_EncodeFileKey(CRYPT_EAL_PkeyCtx *ealPKey, const CRYPT_EncodeParam *encodeParam, int32_t format, int32_t type, const char *path)
Encode formatted file of pkey
int32_t CRYPT_EAL_ProviderDecodeFileKey(CRYPT_EAL_LibCtx *libCtx, const char *attrName, int32_t pkeyAlgId, const char *format, const char *type, const char *path, const BSL_Buffer *pwd, CRYPT_EAL_PkeyCtx **ealPKey)
Decode formatted file of pkey with extended parameters
int32_t CRYPT_EAL_ProviderEncodeFileKey(CRYPT_EAL_LibCtx *libCtx, const char *attrName, CRYPT_EAL_PkeyCtx *ealPKey, const CRYPT_EncodeParam *encodeParam, const char *format, const char *type, const char *path)
Encode formatted file of pkey with provider
int32_t CRYPT_EAL_ProviderEncodeBuffKey(CRYPT_EAL_LibCtx *libCtx, const char *attrName, CRYPT_EAL_PkeyCtx *ealPKey, const CRYPT_EncodeParam *encodeParam, const char *format, const char *type, BSL_Buffer *encode)
Encode formatted buffer of pkey with provider
int32_t CRYPT_EAL_DecodeBuffKey(int32_t format, int32_t type, BSL_Buffer *encode, const uint8_t *pwd, uint32_t pwdlen, CRYPT_EAL_PkeyCtx **ealPKey)
Decode formatted buffer of pkey
int32_t CRYPT_EAL_EncodeBuffKey(CRYPT_EAL_PkeyCtx *ealPKey, const CRYPT_EncodeParam *encodeParam, int32_t format, int32_t type, BSL_Buffer *encode)
Encode formatted buffer of pkey
int32_t CRYPT_EAL_ProviderDecodeBuffKey(CRYPT_EAL_LibCtx *libCtx, const char *attrName, int32_t pkeyAlgId, const char *format, const char *type, BSL_Buffer *encode, const BSL_Buffer *pwd, CRYPT_EAL_PkeyCtx **ealPKey)
Decode formatted buffer of pkey with provider
int32_t CRYPT_EAL_DecodeFileKey(int32_t format, int32_t type, const char *path, uint8_t *pwd, uint32_t pwdlen, CRYPT_EAL_PkeyCtx **ealPKey)
Decode formatted file of pkey
struct EAL_PkeyCtx CRYPT_EAL_PkeyCtx
定义 crypt_eal_pkey.h:108