⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bca_pkcs7.h

📁 手机智能卡开发
💻 H
字号:
/*
* Copyright (c) 2004, 
* All rights reserved.
* 
* 文件名称:bca_pkcs7.h
* 
* 当前版本:1.0
* 作    者:
* 完成日期:2004年5月30日
* 主要修改说明:
*
* 历史信息:
*
* 版本:
* 作者:
* 日期:
* 主要修改说明:
*
* 版本:
* 作者:
* 日期:
* 主要修改说明:
*
*/

#ifndef _BCA_PKCS7_
#define _BCA_PKCS7_

#ifdef __cplusplus
extern "C" {
#endif
 
BCA_API(BCA_RV)
BCA_Pkcs7_EncodeData(
    unsigned char *data,
    unsigned long dataLen, 
    unsigned char *derP7Data,
    unsigned long *derP7DataLen);
 
BCA_API(BCA_RV)
BCA_Pkcs7_DecodeData(
    unsigned char *derP7Data,
    unsigned long derP7DataLen,
    unsigned char *data,
    unsigned long *dataLen);
 
BCA_API(BCA_RV)
BCA_Pkcs7_EncodeSignedData(
    unsigned char *signContainerName,
    unsigned long signContainerNameLen,
    unsigned long signKeyUsage,
    unsigned char *signerCertificate,
    unsigned long signerCertificateLen,
    unsigned long digestAlgorithms,
    unsigned char *data,
    unsigned long dataLen, 
    unsigned char *derP7SignedData,
    unsigned long *derP7SignedDataLen);
 
BCA_API(BCA_RV)
BCA_Pkcs7_DecodeSignedData(
    unsigned char *derP7SignedData,
    unsigned long derP7SignedDataLen, 
    unsigned char *signerCertificate,
    unsigned long *signerCertificateLen,
    unsigned long *digestAlgorithms,
    unsigned char *data,
    unsigned long *dataLen,
	unsigned char *sign,
	unsigned long *signLen);
 
BCA_API(BCA_RV)
BCA_Pkcs7_EncodeSignedDataByP12(
    unsigned char *derP12,
    unsigned long derP12Len,
    unsigned char *pin,
	unsigned long pinLen, 
    unsigned long digestAlgorithms,
    unsigned char *signerCertificate,
    unsigned long signerCertificateLen,
    unsigned char *data,
    unsigned long dataLen, 
    unsigned char *derP7SignedData,
    unsigned long *derP7SignedDataLen);
 
BCA_API(BCA_RV)
BCA_Pkcs7_EncodeSignAndEnvelopedData(
    unsigned char *signContainerName,
    unsigned long signContainerNameLen,
    unsigned long signKeyUsage,
    unsigned char *signerCertificate,
    unsigned long signerCertificateLen,
    unsigned long digestAlgorithms,
	unsigned long symmAlgorithm,
    unsigned char *encCertificate,
    unsigned long encCertificateLen,
    unsigned char *data,
    unsigned long dataLen, 
    unsigned char *derP7SignAndEnvelopedData,
    unsigned long *derP7SignAndEnvelopedDataLen);
  
BCA_API(BCA_RV)
BCA_Pkcs7_DecodeSignAndEnvelopedData(
    unsigned char *derP7SignAndEnvelopedData,
    unsigned long derP7SignAndEnvelopedDataLen,
    unsigned char *decContainerName,
    unsigned long decContainerNameLen,
    unsigned long decKeyUsage,
    unsigned char *signerCertificate,
    unsigned long *signerCertificateLen,
    unsigned long *digestAlgorithms,
	unsigned char *sign,
	unsigned long *signLen,
    unsigned char *data,
    unsigned long *dataLen);

BCA_API(BCA_RV)
BCA_Pkcs7_EncodeSignAndEnvelopedDataByP12(
    unsigned char *derSignP12,
    unsigned long derSignP12Len,
    unsigned char *pin,
	unsigned long pinLen, 
    unsigned long digestAlgorithms,
    unsigned char *signerCertificate,
    unsigned long signerCertificateLen,
	unsigned long symmAlgorithm,
    unsigned char *encCertificate,
    unsigned long encCertificateLen,
    unsigned char *data,
    unsigned long dataLen, 
    unsigned char *derP7SignAndEnvelopedData,
    unsigned long *derP7SignAndEnvelopedDataLen);

BCA_API(BCA_RV)
BCA_Pkcs7_DecodeSignAndEnvelopedDataByP12(
    unsigned char *derP7SignAndEnvelopedData,
    unsigned long derP7SignAndEnvelopedDataLen,
    unsigned char *derDecP12,
    unsigned long derDecP12Len,
    unsigned char *pin,
	unsigned long pinLen, 
    unsigned char *signerCertificate,
    unsigned long *signerCertificateLen,
    unsigned long *digestAlgorithms,
	unsigned char *sign,
	unsigned long *signLen,
    unsigned char *data,
    unsigned long *dataLen);
 
BCA_API(BCA_RV)
BCA_Pkcs7_EncodeEnvelopedData(
    unsigned char *data,
    unsigned long dataLen, 
    unsigned char *encCertificate,
    unsigned long encCertificateLen,
	unsigned long symmAlgorithm,
    unsigned char *derP7EnvelopedData,
    unsigned long *derP7EnvelopedDataLen);
      
BCA_API(BCA_RV)
BCA_Pkcs7_DecodeEnvelopedData(
    unsigned char *decContainerName,
    unsigned long decContainerNameLen,
    unsigned long decKeyUsage, 
    unsigned char *derP7EnvelopedData,
    unsigned long derP7EnvelopedDataLen,
    unsigned char *data,
    unsigned long *dataLen);
 
BCA_API(BCA_RV)
BCA_Pkcs7_DecodeEnvelopedDataByP12(
    unsigned char *derDecP12,
    unsigned long derDecP12Len,
    unsigned char *pin,
	unsigned long pinLen, 
    unsigned char *derP7EnvelopedData,
    unsigned long derP7EnvelopedDataLen,
    unsigned char *data,
    unsigned long *dataLen);
           
BCA_API(BCA_RV)
BCA_Pkcs7_EncodeDigestedData(
    unsigned long digestAlgorithms,    
    unsigned char *data,
    unsigned long dataLen,
    unsigned char *derP7DigestedData,
    unsigned long *derP7DigestedDataLen);

BCA_API(BCA_RV)
BCA_Pkcs7_DecodeDigestedData(
    unsigned char *derP7DigestedData,
    unsigned long derP7DigestedDataLen,
    unsigned long *digestAlgorithms,    
    unsigned char *data,
    unsigned long *dataLen);

BCA_API(BCA_RV)
BCA_Pkcs7_EncodeEncryptedData(
    unsigned char *data,
    unsigned long dataLen,
	unsigned long symmAlgorithm,
	unsigned char *key,
	unsigned long keyLen,
	unsigned char *iv,
	unsigned long ivLen,
    unsigned char *derP7EncryptedData,
    unsigned long *derP7EncryptedDataLen);

BCA_API(BCA_RV)
BCA_Pkcs7_DecodeEncryptedData(
    unsigned char *derP7EncryptedData,
    unsigned long derP7EncryptedDataLen,
	unsigned long symmAlgorithm,
	unsigned char *key,
	unsigned long keyLen,
	unsigned char *iv,
	unsigned long ivLen,
    unsigned char *data,
    unsigned long *dataLen);
            
#ifdef __cplusplus
}
#endif

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -