27#ifndef HITLS_PKI_CMS_H
28#define HITLS_PKI_CMS_H
30#include "hitls_pki_types.h"
31#include "bsl_params.h"
32#include "hitls_pki_cert.h"
33#include "crypt_eal_pkey.h"
39typedef struct _HITLS_CMS HITLS_CMS;
90 const char *path, HITLS_CMS **cms);
111 const BSL_Param *optionalParam);
int32_t HITLS_CMS_ProviderParseBuff(HITLS_PKI_LibCtx *libCtx, const char *attrName, const BSL_Param *param, const BSL_Buffer *encode, HITLS_CMS **cms)
cms parse
void HITLS_CMS_Free(HITLS_CMS *cms)
Free CMS structure
HITLS_CMS * HITLS_CMS_ProviderNew(HITLS_PKI_LibCtx *libCtx, const char *attrName, int32_t dataType)
Create a new CMS handle
int32_t HITLS_CMS_DataInit(int32_t option, HITLS_CMS *cms, const BSL_Param *param)
Initialize streaming operation for CMS SignedData (unified interface)
int32_t HITLS_CMS_DataSign(HITLS_CMS *cms, CRYPT_EAL_PkeyCtx *prvKey, HITLS_X509_Cert *cert, BSL_Buffer *msg, const BSL_Param *optionalParam)
Create signer information and optionally perform one-shot signing.
int32_t HITLS_CMS_Ctrl(HITLS_CMS *cms, int32_t cmd, void *val, uint32_t valLen)
Control and modify CMS auxiliary data (certificates, CRLs, etc.)
int32_t HITLS_CMS_DataUpdate(HITLS_CMS *cms, const BSL_Buffer *input)
Update streaming operation with input data chunk (unified interface)
int32_t HITLS_CMS_DataFinal(HITLS_CMS *cms, const BSL_Param *param)
Finalize streaming operation (unified interface)
int32_t HITLS_CMS_DataVerify(HITLS_CMS *cms, BSL_Buffer *msg, const BSL_Param *inputParam, BSL_Buffer *output)
Verify CMS SignedData signatures
int32_t HITLS_CMS_ProviderParseFile(HITLS_PKI_LibCtx *libCtx, const char *attrName, const BSL_Param *param, const char *path, HITLS_CMS **cms)
cms parse file
struct EAL_PkeyCtx CRYPT_EAL_PkeyCtx
定义 crypt_eal_pkey.h:108