bca_pkcs7.h

来自「手机智能卡开发」· C头文件 代码 · 共 226 行

H
226
字号
/*
* 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 + =
减小字号Ctrl + -
显示快捷键?