1、ICS 35.040 L 80 GB 和国国家标准-H: ./、中华人民G/T 25060-2010 信息安全技术公钥基础设施X.509数字证书应用接口规范Information security techniques-Public Key Infrastructure-Interface specification of X. 509 digital certificates application 2010-09-02发布2011-02-01实施数码防伪中华人民共和国国家质量监督检验检夜总局中国国家标准化管理委员会发布G/T 25060-2010 目次前言.1 引言.II 1 范围-2 规
2、范性引用文件3 术语和定义4 缩略语.15 标识定义.5.1 常量定义.2 5.2 密码算法标识25.3 证书项标识.2 6 接口描述.3 6.1 概述.36.2 环境函数.56.3 证书函数6.4 密码运算函数-6.5 消息函数6.6 辅助函数附录A(规范性附录)返回码定义与描述21参考文献.23 目。吕本标准凡涉及密码算法相关内容,按国家有关法规实施。本标准的附录A为规范性附录。本标准由全国信息安全标准化技术委员会(TC260)提出并归口。本标准起草单位:长春吉大正元信息技术股份有限公司。本标准主要起草人z李伟平、何长龙、刘勇、付敏。GB/T 25060-2010 I G/T 25060-
3、2010 引基于PKI技术体系的电子签名和电子认证为电子政务和电子商务的开展提供了技术支持,特别是中华人民共和国电子签名法的颁布为基于电子签名的应用提供了法律依据。但是,由于各厂商对数字证书应用需求理解的差异性及实践经验不足,数字证书应用API实现存在很大的随意性,以及相关标准规范的缺乏,导致各厂家同类产品间差别大,给基于数字证书应用、应用系统集成和数字证书管理及推广带来极大困难。对基于数字证书应用需求进行研究、总结,统一规划、编制基于PKI技术体系的数字证书应用接口规范,有利于数字证书应用产品提供商缩短产品研发周期,减少研发和支持戚本;有利于应用开发商和服务商摆脱特定CA提供的接口而在规范的
4、数字证书应用接口上进行数字证书应用的开发,减少针对开发的设计、实现和测试,使其能够专注于应用产品功能;有利于降低数字证书应用的复杂度,并便于用户对数字证书的使用。本标准基于公钥密码基础设施应用技术体系通用密码服务接口规范),进行了适当剪裁,针对数字证书应用进行了规范,可用于指导数字证书认证系统中数字证书应用产品的研制和开发。本标准在编写过程中得到了商用密码基础设施专项工作组的指导。E G/T 25060-2010 1 范围信息安全技术公钥基础设施X.509数字证书应用接口规范本标准定义了数字证书应用标识及一组证书应用接口。本标准适用于基于数字证书的安全中间件的设计和实现,对基于数字证书的安全功
5、能的研制、开发、测试亦可参照使用。2 规范性引用文件下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。GB/T 20518一2006信息安全技术公钥基础设施数字证书格式PKCS# 7 Vl. 5:加密消息语法标准3 术语和定义下列术语和定义适用于本标准。3. 1 数字证书digital certificate 由认证权威数字签名的包含公开密钥拥有者信息、公开密钥、签发者信息、有效期以及一些扩展
6、信息的数字文件。3.2 证书撤销到表certificate revocation Iist 标记一系列不再被证书发布者所信任的证书的签名列表。3.3 数字信封digital envelope 附加到消息中的数据,它允许消息的预期接收方验证该消息内容的完整性。4 缩略语下列缩略语适用于本标准。CA 证书认证机构CRL 证书撤销列表DER 可区分编码规则PKCS# 1 RSA加密标准PKCS#7 加密消息的语法标准PKI 公钥基础设施OID 对象标识符(Certificate Authority) (Certificate Revocation List) (Distinguished Encod
7、ing Rules) (RSA Cryptography Standard) (Cryptographic Message Syntax Standard) (Public Key Infrastructure) (Object Identifier) 1 G/T 25060-2010 5 标识定义5. 1 常量定义#define SGDX一TRUE# define SGDX_FALSE 5.2 密码算法标识5.2.1 对称算法标识宏描述宏描述# define SGDX_SMl_ECB # define SGDX_SMl_CBC # define SGDX_SMl_CFB # define S
8、GDX_SMl_ OFB # define SGDX_SMl_MAC # define SGDX_SSF33_:ECB # define SGDX_SSF33_CBC # define SGDX SSF33一CFB# define SGDX_SSF$3_OFB #define SGDX-SSF33-MAC 5.2.2 非对称算法标识宏描述# define SGDX RSA 5.2.3 杂凑算法标识宏描述# define SGDX SHAl # define SGDX_SHA256 一5.3 证书项标识5.3.1 基本证书域标识宏描述# DEFINE SGDX_CERT_ VERSION # D
9、EFINE SGDX_CERT_SERIALNUMBER #DEFINE SGDX_CERT_SIGNATURE # DEFINE SGDX_CERT一ISSUER# DEFINE SGDX一CERT_ V ALIDITY # DEFINE SGDX_ CERT _SUBJECT # DEFINE SGDX_ CERT _SUBJECTPUBLICKEYINFO # DEFINE SGDX_ CERT _ISSUERUNIQUEID # DEFINE SGDX_CERT_SUBJECTUNIQUEID # define SGDX_CERT_EXTENSIONS 2 预定义值OxOOOOOOOl
10、 OxOOOOOOOO 预定义值Ox00000101 OxOOOOOl02 OxOOOOOl04 OxOOOOOl08 OxOOOOOllO Ox00000201 Ox00000202 Ox00000204 Ox00000208 Ox00000210 OxOOOlOOOO 预定义值Ox00000002 Ox00000004 预定义值OxOOOOOOOl Ox00000002 Ox00000003 Ox00000004 Ox00000005 Ox00000006 Ox00000007 Ox00000009 OxOOOOOOlO OxOOOOOOll 说明布尔值为真布尔值为假说明SMl算法ECB加
11、密模式SMl算法CBC加密模式SMl算法CFB加密模式SMl算法OFB加密模式SMl算法MAC加密模式SSF33算法ECB加密模式SSF33算法CBC加密模式SSF33算法CFB加密模式SSF33算法OFB加密模式SSF33算法MAC加密模式明说明SHAl杂凑算法SHA256杂凑算法说明版本序列号签名算法颁发者有效期主体证书公钥信息颁发者唯一标识符主体唯一标识符扩展项5.3.2 标准的扩展域标识宏描述# define SGDX EXT SUBJECTPUBLICKEYINFO # define SGDX_EXT _SUBJECTPUBLICKEYINFO 斗中defineSGDX_EXT_KE
12、YUSAGE # define SGDX_EXT _PRIV ATEKEYUSAGEPERIOD 1丰defineSGDX_EXT _ CERTIFICATEPOLICIES # define SGDX_EXT_POLICYMAPPINGS # define SGDX_EXT _BASICCONSTRAINTS # define SGDX_EXT_POLICYCONSTRAINTS # define SGDX_EXT_EXTKEYUSAGE # define SGDX EXT一CRLDISTRIBUTIONPOINTS# define SGDX_EXT_AUTHORITYKEYIDENTIFI
13、ER # define SGDX一EXTSUBJECTKEYIDENTIFIER # define SGDX_EXT _SUBJECT AL TNAME # define SGDX_EXT _ISSUERAL TNAME # define SGDX_EXT _SUBJECTDIRECTORYATTRIBUTES # define SGDX EXT NAMECONSTRAINTS # define SGDX_EXT_POLICYCONSTRAINTS # define SGDX_EXT _INHIBIT ANYPOLICY # define SGDX EXT FRESHESTCRL 1丰defi
14、neSGDX_EXT_AUTHORITYINFOACCESS # define SGDX_EXT _SUBJECTINFORMA TIONACCESS 1丰defineSGDX_EXT _IDENTIFYCARDNUMBER # define SGDX_EXT_INURANCENU.r-.在BER# define SGDX_EXT _ICREGISTRA TIONNUMBER # define SGDX_EXT_ORGANIZATIONCODE # define SGDX_EXT_ T AXA TIONNUMBER #define SGDX-EXT-ID-PKIX # define SGDX_
15、EXT _NETSCAPECERTTYPE 6 接口描述6.1 概述GB/T 25060-2010 预定义值说明Ox00000012 机构密钥标识符Ox00000013 主体密钥标识符Ox00000014 密钥用法Ox00000015 私有密钥使用期Ox00000016 证书策略Ox00000017 策略映射Ox00000018 基本限制Ox00000019 策略限制Ox00000020 扩展密钥用途Ox00000021 CRL分发点Ox00000022 机构密钥标识符Ox00000023 主体密钥标识符Ox00000024 主体替换名称Ox00000025 颁发者替换名称Ox00000026
16、 主体目录属性Ox00000027 名称限制Ox00000028 策略限制Ox00000029 限制所有策略Ox00000030 最新的CRLOx00000031 机构信息访问Ox00000032 主体信息访问Ox00000033 个人身份标识号码Ox00000034 个人社会保险号Ox00000035 企业工商注册号Ox00000036 企业组织机构代码Ox00000037 企业税号Ox00000038 私有的Internet扩展Ox00000039 netscape属性本标准定义了符合GB/T20518-2006的数字证书应用的环境函数、证书函数、密码运算函数和消息函数等,这些函数能够完成
17、取证书信息,验证证书有效性,制作、验证数字签名,制作、解析数字信封等常用数字证书应用,以及一些辅助性功能函数,如Base64的编码、解码、数据摘要计算等。本条以表格的形式列出了这些函数接口的功能及名称,如表1、表2、表3、表4、表5分别给出环境GB/T 25060-2010 函数、证书函数、密码运算函数、消息函数和辅助函数的概述,关于这些函数接口的详细定义请参见本章后面的函数接口定义部分。表1环境函数序号接口名称接口说明l SAFX Initialize 初始化环境2 SAFX Finalize 清理环境3 SAFX_Login 打开密码设备4 SAFX_Logout 关闭密码设备表2证书函数
18、序号接口名称接口说明1 SAFX GetCertificateInfo 取证书基本项信息2 SAFX一GetExtTypelnfo取证书扩展项信息3 SAFX_ VerifyCertifieateSign 验证证书签名4 SAFX_ VerifyCertificate Validity 验证证书有效期5 SAFX_ VerifyCenificateByCrl 根据CRL验证证书是否被撤销一一表3密码运算函数序号接口名称接口说明1 SAFX_RsaSign RSA签名运算2 SAFX_Rsa VerifySign RSA验证签名运算3 SAFX _ RsaPu blicl参数:hAppHandl
19、e pucCertificate uiCertificateLen pucInData uiInDataLen pucOutData puiOutDataLen 返回值=SARX_OK:成功输入参数,应用接口句柄输入参数,DER编码的数字证书输入参数,DER编码的数字证书长度输入参数,明文数据输入参数,明文数据长度输出参数,密文数据输出参数,密文数据长度其他:失败,详见附录A。6.4.4 RSA私钥解密运算描述:按照PKCS#1的要求进行RSA私钥解密运算。原型:int SAFX_PkcslRsaPrivateKeyDec( void * hAppHandle, unsigned char*
20、pucKeyPairPin, unsigned int uiKeyPairPinLen, unsigned char* pucInData, unsigned int uiInDataLen, 10 unsigned char* pucOutData, unsigned int* puiOutDataLen 参数zhAppHandle pucKeyPairPin uiKeyPairPinLen pucInData uilnDataLen pucOutData puiOutDataLen 输入参数,应用接口句柄输入参数,密钥保护密码输入参数,密钥保护密码长度输入参数,密文数据输入参数,密文数据长
21、度输出参数,明文数据输出参数,明文数据长度返回值2SARX_OK;成功其他:失败,详见附录A.6.4.5 计算数据摘要描述:对给定数据计算其摘要。原型:int SAFX HashC ) 参数:void* unsigned int unsigned char女unsigned int unsigned char * unsigned int六hAppHandle, uDigestA!gori thm. pucInData , uilnDataLen , pucOutDa ta , puiOutDataLen hAppHandle 输入参数,应用接口句柄uiDigestAlgorithm 输入参数
22、,杂凑算法标识pucInData 、输入参数,输入数据uilnDataLen 、输入参数,输入数据长度pucOutData 输出参数,摘要值puiOutDataLen 输出参数,摘要值长度返回值:SARX_OK:成功其他:失败,详见附录Ao6.5 消息函数6.5.1 慨述GB/T 25060-2010 PKCS :j:j: 7 Vl. 5:加密消息标准共定义了6种数据类型,分别为:数据Cdata),签名数据CsignedData) , 数字信封CenvelopedData),签名数字信封CsignedAndEnvelopedData) ,摘要数据CdigestedData)和加密数据(巳ncr
23、yptedData)。除数据Cdata)为原始类型不需要密码运算外,其他五个数据类型需要密码运算,本标准定义了与其相对应的编码和解码函数接口,如表6所示。11 GB/T 25060-2010 表6PKCS#7数据类型操作函数PKCS# 7数据类型功能函数名称编码SAFX_Pkcs7 _EncodeSignedData signedData 解码SAFX_Pkcs7 _DecodeSignedData 编码SAFX Pkcs7一EncodeEnvelopedDataenvelopedData 解码SAFX_Pkcs7 _DecodeEnvelopedData 编码SAFX_Pkcs7 _Enco
24、deSignedAndEnvelopedData signedAndEnvelopedData 解码SAFX _ Pkcs 7 _ DecodeSignedAndEnvelopedDa ta 编码SAFX一Pkcs7_EncodeDigestedData diges tedDa ta 解码SAFX一Pkcs7_DecodeDigestedData 编码SAFX_Pkcs7 _EncodeEncryptedData encryptedDa ta 解码SAFX_Pkcs7 _DecodeEncryptedData 6.5.2 编码PKCS7格式的签名数据描述:12 使用签名密钥对原文数据进行数字签
25、名,并打成PKCS#7签名数据格式的数据包。详细参见PKCS#7规范的SignedData类型定义。原型:int SAFX Pkcs7一EncodeSignedData ( void * hAppHandle , unsigned char * pucSignerCertificate, unsigned int uiSignerCertificateLen, unsigned char* pucKeyPairPin, unsigned int pucKeyPairPinLen, unsigned int uiDigestAlgorithm , unsigned char* pucData,
26、unsigned int uiDataLen, unsigned char* pucDerP7SignedData, unsigned int* puiDerP7SignedDataLen 参数zhAppHandle pucSignerCertificate uiSignerCertificateLen pucKeyPairPin 输入参数,应用接口句柄输入参数,签名者证书输入参数,签名者证书长度输入参数,密钥保护密码uiKey Pair PinLen uiDigestAlgorithm pucData uiDataLen pucDer P7SignedData puiDer P7 Signe
27、dDa taLen 输入参数,密钥保护密码长度输入参数,杂凑算法标识输入参数,需要签名的数据输入参数,需要签名的数据长度输出参数,符合PKCS#7标准的签名数据包输出参数,符合PKCS#7标准的签名数据包长度 GB/T 25060-2010 返回值:SARX_OK:成功其他:失败,详见附录A。6.5.3 解码PKCS7格式的签名数据描述:从PKCS#7签名数据格式的数据包中解析出原文、签名者数字证书等。原型:int SAFX_Pkcs7 _DecodeSignedData( void * hAppHandle, unsigned char* pucDerP7SignedData, unsign
28、ed int uiDerP7SignedDataLen, unsigned char* pucSignerCertificate, unsigned int uiSignerCertificateLen, unsigned int * puiDigestAlgori thm, unsigned char* pucData, unsigned int* puiDataLen, unsigned char六pucSign,unsigned int* puiSignLen 参数=hAppHandle 输入参数,应用接口句柄pucDer P7 SignedDa ta 输入参数,符合PKCS#7签名数据
29、格式的数据包uiD巳rP7 SignedDa taLen pucSignerCertificate puiSignerCertificateLen puiDigestAlgori thm pucData puiDataLen pucSign puiSignLen 返回值:SARX_OK:成功其他:失败,详见附录A。输入参数,符合PKCS#7签名数据格式的数据包长度输出参数,签名者证书输出参数,签名者证书长度输出参数,杂凑算法标识输出参数,原文数据输出参数,原文数据长度输出参数,签名值输出参数,签名值长度6.5.4 编码PKCS7格式的数字信封描述:制作符合PKCS#7数字信封格式的数据包。被打
30、包的信息包括接收者信息和数据密文等。详细参见PKCS#7规范的EnvelopedData类型定义。原型:int SAFX_Pkcs7 _EncodeEnvelopedData( void * hAppHandle, unslgn巳dchar六pucData,unsigned int uiDataLen , unsigned char* pucEncCertificate, 13 GB/T 25060-2010 unsigned int uiEncCertificateLen, unsigned int uiEncAlgorithm, unsigned char* pucDerP7Envelop
31、edData, unsigned int* puiDerP7EnvelopedDataLen 参数zhAppHandle 输入参数,应用接口句柄pucData 输入参数,需要制作数字信封的数据puiDataLen 输入参数,需要制作数字信封的数据长度pucEncCertificate 输入参数,接收者证书uiEncCertificateLen 输入参数,接收者证书长度uiEncAlgorithm 输入参数,加密算法标识pucDerP7EnvelopedData 输出参数,符合PKCS#7数字信封格式的数据包puiDer P7 En velopedDa taLen 输出参数,符合PKCS#7数字
32、信封格式的数据包长度返回值:SARX_OK:成功其他:失败,详见附录A。6.5.5 解码PKCS7格式的数字信封描述:从符合PKCS#7数字信封格式的数据包中解析出原文数据。原型:int SAFX_Pkcs7一DecodeEnvelopedData(void * hAppHandle, unsigned char * pucDerP7EnvelopedData, unsigned in t uiDer P7 En velopedDa taLen, unsigned char * pucData, unsigned int* puiDataLen 参数:hAppHandle 输入参数,应用接口句
33、柄pucDerP7EnvelopedData 输入参数,符合PKCS#7数字信封格式的数据包uiDer P7 En velopedDa taLen 输入参数,符合PKCS#7数字信封格式的数据包长度pucData 输出参数,解密的原文数据puiDataLen 输出参数,解密的原文数据长度返回值:SARX_OK:成功其他:失败,详见附录A。6.5.6 编码PKCS7格式的签名数字信封描述:14 制作符合PKCS#7签名数字信封格式的数据包。被打包的信息可能包括接收者信息、加密数据、签名信息、签名者的证书等。详细参见PKCS#7规范的SignedAndEnvelopedData类型定义。GB/T
34、25060-2010 原型:int SAFX_Pkcs7 _EncodeSignedAndEnvelopedData( void * hAppHandle, unsigned char * pucSignerCertificate, unsigned int uiSignerCertificateLen, unsigned char* pucKeyPairPin, unsigned int pucKeyPairPinLen, unsigned int uiDigestAlgorithm, unsigned char * pucEncCertificate, unsigned int uiEnc
35、CertificateLen, unsigned int uiEncAlgorithm, unsigned char * pucDa ta, unsigned int uiDataLen, unsigned char* pucDerP7Data, unsigned int* puiDerP7DataLen 参数:hAppHandle pucSignerCertificate uiSignerCertifi ca teLen pucKeyPairPin uiKeyPairPinLen uiDigestAlgorithm pucEncCertificate uiEncCertificateLen
36、uiEncAlgorithm pucData 输入参数,应用接口句柄输入参数,签名者证书输入参数,签名者证书长度输入参数,密钥保护密码输入参数,密钥保护密码长度输入参数,杂凑算法标识输入参数,接收者证书输入参数,接收者证书长度输入参数,加密算法标识输入参数,原始数据uiDataLen pucDerP7Data puiDerP7DataLen 返回值zSARX_OK:成功其他:失败,详见附录A。输入参数,原始数据长度输出参数,PKCS:j:j:7签名数字信封格式的数据包输出参数,PKCS:j:j:7签名数字信封格式的数据包长度6.5.7 解码PKCS7格式的签名数字信封描述:从符合PKCS:j:
37、j:7签名数字信封格式的数据包中解析出原文、签名者数字证书等。原型:int SAFX_Pkcs7 _DecodeSignedAndEnvelopedData( void * hAppHandl巳,unsigned char* pucDerP7Data, unsigned int uiDerP7DataLen, unsigned char* pucData, unsigned int* puiDataLen, 15 GB/T 25060-2010 unsigned char* pucSignerCertificate, unsigned int * puiSignerCertificateLen
38、, unsigned int六puiDigestAlgorithm 参数2hAppHandle pucDerP7Data uiDerP7DataLen pucData puiDataLen pucSignerCertificate puiSignerCertificateLen puiDigestAlgori thm 返回值zSARX一OK:成功其他:失败,详见附录Ao输入参数,应用接口句柄输入参数,PKCS#7签名数字信封格式的数据包输入参数,PKCS#7签名数字信封格式的数据包长度输出参数,原文数据输出参数,原文数据长度输出参数,签名者证书输出参数,签名者证书长度输出参数,杂凑算法标识6.
39、5.8 编码PKCS7格式的摘要数据描述:使用指定的杂凑算法计算原文的摘要,并打包成符合PKCS#7摘要数据格式的数据包。详细参见PKCS#7规范的DigestedData类型定义。原型:int SAFX_Pkcs7 _EncodeDigestedDataC void * hAppHandle, unsigned int uiDigestAlgorithm , unsigned char* pucData, unsigned int uiDataLen, unsigned char* pucDerP7DigestedData, unsigned int* puiDerP7DigestedDat
40、aLen 参数=hAppHandle 输入参数,应用接口句柄uiDigestAlgori thm 输入参数,杂凑算法标识pucData 输入参数,原文数据uiDataLen 输入参数,原文数据长度pucDer P7DigestedDa ta 输出参数,符合PKCS#7摘要数据格式的数据包puiDerP7DigestedDataLen 输出参数,符合PKCS#7摘要数据格式的数据包长度返回值:SARX一OK:成功其他:失败,详见附录A。6.5.9 解码PKCS7格式的摘要数据描述:从符合PKCS#7摘要数据格式的数据包中解析出原文及摘要值。16 GB/T 25060-2010 原型:int SA
41、FX_Pkcs7一DecodeDigestedData ( void * hAppHandle, unsigned char* pucDerP7DigestedData, unsigned int uiDerP7DigestedDataLen, unslgn巳dint* puiDigestAlgorithm, unsigned char* pucData, unsigned int* puiDataLen, unsigned char * pucDigest, unsigned in t * puiDigestLen 参数:hAppHandle 输入参数,应用接口句柄pucDer P7Dges
42、tedDa ta uiDer P7DigestedDa taLen puiDig巳stAlgorithmpucData 输入参数,符合PKCS#7摘要数据格式的数据包输入参数,符合PKCS#7摘要数据格式的数据包长度输出参数,杂凑算法标识输出参数,原文数据puiDataLen pucDigest puiDigestLen 返回值=SARX_OK:成功其他:失败,详见附录A。输出参数,原文数据长度输出参数,摘要值输出参数,摘要值长度6.5. 10 编码PKCS7格式的加密数据描述:制作符合PKCS#7加密数据格式的数据。详细参见PKCS#7规范的EncryptedData类型定义。原型:int
43、SAFX_Pkcs7 EncodeEncryptedData( 参数:hAppHandle pucData puiDataLen pucEncKey void* hAppHandle, unslgn巳d.char* pucData, unsigned int uiDataLen, unsigned char * pucEncKey, unsigned int uiEncKeyLen, unsigned int uiEncAlgorithm, unsigned char* pucDerP7EncryptedData, unsigned int* puiDerP7EncryptedDataLen
44、输入参数,应用接口句柄输入参数,需要加密的数据输入参数,需要加密的数据长度输入参数,用于加密原文的密钥17 GB/T 25060-2010 uiEncKey Len uiEncAlgori thm pucDerP7EncryptedData puiDer P7 EncryptedDa taLen 返回值:SARX_OK:成功其他:失败,详见附录A。输入参数,用于加密原文的密钥长度输入参数,加密算法标识输出参数,符合PKCS:lj:7加密数据格式的数据包输出参数,符合PKCS:lj:7加密数据格式的数据包长度6.5.11 解码PKCS7格式的加密数据描述:从符合PKCS:lj:7加密数据格式的数
45、据包中解析出原文数据。原型=int SAFX_Pkcs7 _DecodeEncryptedData( void * hAppHandle, unsigned char* pucDerP7EncryptedData, unsigned int puiDerP7EncryptedDataLen, unsigned char * pucEncKey, unsigned int uiEncKeyLen, unsigned int uiEncAlgorithm, unsigned char女pucData,unsigned int* puiDataLen 参数zhAppHandle 输入参数,应用接口句
46、柄pucDerP7EnvelopedData 输入参数,符合PKCS:lj:7加密数据格式的数据包uiDer P7En velopedDa taLen 输入参数,符合PKCS:lj:7加密数据格式的数据包长度pucEncKey 输入参数,用于解密数据的密钥uiEncKey Len 输入参数,用于解密数据的密钥长度uiEncAlgori thm 输入参数,加密算法标识pucData 输出参数,解密的原文数据puiDataLen 输出参数,解密的原文数据长度返回值:SARX一OK:成功其他:失败,详见附录Ao6.6 辅助函数6.6.1 取版本号描述:取接口实现的版本号。原型:int SAFX Ge
47、tVersion( void * hAppHandle, unsigned char* puiVersion 18 参数:hAppHandle puiVersion 返回值:输入参数,应用接口句柄输出参数,版本号SARX一OK:成功其他:失败,详见附录A。6.6.2 取对应标准的版本号描述:取接口对应标准的版本号。原型:int SAFX_ GetSpcifications V ersion ( void* hAppHandle, unsgned int* puiSpecifications Version 参数:hAppHan.dle 输入参数,应用接口句柄puiSpecificatons Version 输出参数,取接口对应标准的版本号返回值:SARX_OK;成功其他:失败,详见附录A。GB/T 25060-2010 备注:版本号的格式为:OxAAAABBBB,其中AAAA为主版本号,BBBB为次版本号。6. 6. 3 BASE64辑码描述:对数据进行Base64编码。原型:int SAFX Base64 EncodeC 参数:void* hAppHandle , unsigned char * pucInData, unsgned int uilnDataLen, un