版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、(1)安全中间件二次开发手册Copyright?2003ShanghaiwellhopeInformationTechnologyCo.,Ltd.AllRightsReserved4.1.1.11SealEnvelopeEx1.81 引言41.1 编写目的4.1.2 项目背景4.1.3 术语和缩写词4.1.4 遵循标准5.2 系统概述7.2.1 功能7.2.2 性能9.精度9时间特性9.灵活性93 运行环境1.0.3.1 硬件系统1.0.3.2 支撑软件1.0.4 开发说明1.0.4.1 客户端描述1.0.4.1.1 APP客户端控件接口说明114.1.1.1 AtvInit114.1.1.2
2、 AtvEnd114.1.1.3 SetHardWare1.24.1.1.4 Login1.24.1.1.5 ChangeLoginPin1.34.1.1.6 Logout1.4.4.1.1.7 GetCert1.4.4.1.1.8 CheckCert1.5.4.1.1.9 GetCertInfo1.5.4.1.1.12 OpenEnvelope1.8.4.1.1.13 SignData1.9.4.1.1.14 SignDataEx2.04.1.1.15 VerifySign2.14.1.1.16 GenRandom2.24.1.1.17 HashData2.3.4.1.1.18 SymmEn
3、crypt2.34.1.1.19 SymmDecrypt2.44.1.1.20 GetCertFromLDAP2.54.1.1.21 GetAndSaveCRL2.64.1.1.22 ReadFromFile2.64.1.1.23 WriteToFile2.74.1.1.24 GetStamp2.7.4.1.1.25 VerifyStamp2.84.1.1.26 GetAlgoFromPA2.84.1.1.27 Base64Encode3.0.4.1.1.28 Base64Decode3.04.1.1.29 GetParamValue3.14.2 服务端描述3.1.4.2.1 APP应用服务器
4、端JAVA接口314.2.1.1 release3.1.4.2.1.2 GetCurStatus3.2.4.2.1.3 AdvBase64Encode3.2.4.2.1.4 AdvBase64Decode3.2.4.2.1.5 AdvGetCert3.3.4.2.1.6 AdvCheckCert3.34.2.1.7 AdvGetCertInfo3.44.2.1.8 AdvSealEnvelope3.6.4.2.1.9 AdvSealEnvelopeEx3.74.2.1.10 AdvOpenEnvelope3.7.4.2.1.11 AdvSignData3.84.2.1.12 AdvSignDa
5、taEx3.94.2.1.13 AdvVerifySign4.04.2.1.14 AdvGenRandom4.14.2.1.15 AdvHashData4.2.4.2.1.16 AdvSymmEncrypt4.24.2.1.17 AdvSymmDecrypt4.34.2.1.18 AdvGetCertFromLDAP4.44.2.1.19 AdvGetCRLFromLDAP4.54.2.1.20 AdvUploadCRL4.54.2.1.21 AdvReadFromFile4.64.2.1.22 AdvWriteToFile4.64.2.1.23 AdvGetStamp4.7.4.2.1.24
6、 AdvVerifyStamp4.74.2.1.25 AdvGetAlgoFromPA4.84.2.1.26 AdvGetAttrCertInfo4.94.2.1.27 AdvGetPACertInfo4.94.2.1.28 AdvGetAttrCertListFromLDAP5.05 应用开发实例5.1.5.2 身份认证参考模型5.2.5.3 加解密功能参考模型5.55.4 签名验签功能参考模型5.61引言1.1 编写目的1. 该文档主要规范了PKI安全中间件的功能接口定义。在整个PKI体系中,安全中间件的作用非常关键,它通过调用底层的WHCSP及证书管理器等,封装了一系列PKI应用接口,满
7、足上层PKI具体应用的需要。本标准适用于PKI上层应用的需求,主要为CA系统。适用对象为所有采用安全中间件的系统开发人员。1.2项目背景2. 高级密码服务,顾名思义,是为用户提供相对高级和抽象的密码服务,而不是像底层的CSP和硬件加密算法那样,提供比较低级和具体的密码服务。一般来说,高级的密码服务应该能够让不懂加密、解密和签名、验签等概念的用户也能够透明的使用,也就是说把密码学算法的细节给屏蔽掉了。1.3 术语和缩写词缩写、术语解释(2)PKI(3)公钥基石设施(PublicKeyInfrastructure)(4)CSP(5)CryptographicServiceProvider(帝他服务
8、提供者)(6)CRL(7) 证书撤消列表(CertificateRevocationList)(8) 一个标记一系列再被证书发布者所信任的证书的签名列表(通称黑名单)。(9)LDAP(10)目录查询协议(LightweightDirectoryAccessProtocol)(11)本设计指轻型目录访问协议LDAP。用户可使用LDAP协议,通过网络到目录服务器查询系统中的证书或证书撤消列表。(12)OCSP(13)在线证书状态查询协议(OnlineCertificateStatusProtocol)(14)用户可使用OCSP协议,通过网络到OCSP服务器实时查询系统中证书的当前有效/无效状态。(
9、15)1.4 遵循标准列出参考资料,如:RFC2459PKIXPKIX证书和CRL概要IETF:PKIX证书策略和证书实践框架IETF:RFC2510:CMP(证书管理协议)RFC2797:CMC(CMS上的证书管理消息)RFC2511:CRMF(证书请求消息格式)X.208抽象语法符号1描述(ASN.1)X.209抽象语法符号1基本编码规范说明(ASN.1)X.680信息技术一抽象语法符号1(ASN.1)基本符号规范X.681信息技术一抽象语法符号1(ASN.1)信息目标规范X.682信息技术一抽象语法符号1(ASN.1)强制规范X.690信息技术ASN.1编码规则基本编码规则(BER),规
10、范编码规则(CER)和主要编码规则(DER)X.509v4信息技术开放式系统互连目录:公钥和属性证书框架X.500开放式系统互连目录:概念,模型和服务概述LDAP轻目录访问协议:由ISO于1997年12月发布。PKCS#1(v1.5)RSA密码算法PKCS#5(v2.0)基于口令的密码标准PKCS#6(v1.5)扩展的数字证书语法标准PKCS#7(v1.5)密文消息语法标准PKCS#8(v1.5)私钥信息语法标准PKCS#9(v2.0)可选择的属性类型PKCS#10(v1.5)数字证书申请语法标准PKCS#11硬件密码设备接口标准PKCS#12(v1.0)个人信息交换语法PKCS#15(v1.
11、1)多个应用访问标准X.509开放式系统互连目录:公钥和授权证书框架ITU-TX.500开放式系统互连目录:概念,模型和服务概述CORBA(公共对象请求代理体系结构)v2.43.2系统概述在PKI体系结构中【见上图】,安全中间件总揽了证书管理器和CSP的所有功能。它在PC端和PKI服务器端都是直接面向最终用户的调用接口,因此,它必须能够屏蔽掉PC端和PKI服务器端的不同情况。安全中间件是为用户提供相对高级和抽象的密码服务,而不是像底层的CSP和硬件加密算法那样,提供比较低级和具体的密码服务。一般来说,安全中间件服务应该能够让不懂加密、解密和签名、验签等概念的用户也能够透明的使用,也就是说把密码
12、学算法的细节给屏蔽掉了。2.1 功能抽象的算法服务1. 对指定的明文进行加密的功能,包括口令加密、对称密钥加密和公开密钥加密。2. 对指定的密文进行解密的功能,包括对称密钥解密和公开密钥解密。3. 对指定的明文进行签名的功能。4. 对指定的签名进行验签的功能5. 封装PKCS7数字信封6. 解开PKCS7数字信封7. 对明文进行散列。8. 产生随机数。抽象的证书服务1. 根据标签得到证书2. 验证证书的有效性3. 生成PKCS10格式的证书请求文件4. 输入绑定的证书和私钥。私钥和口令保护服务1. 检查私钥口令2. 更改私钥口令3. 检查PIN4. 更改PIN编码服务5. ASE64的编码功能
13、6. BASE64的解码功能2.2性能精度( 16)TSP响应时间<1s;( 17)OCSP响应时间<1s;( 18)LDAP服务单元响应速度<0.5s时间特性( 19)客户端RSA签名2次/秒( 20)验签5次/秒( 21)服务器端RSA签名20次/秒( 22)验签100次/秒灵活性( 23)可以灵活支持多种硬件介质和硬件加密卡;( 24)可以提供C/C+、JavaC#等应用接口;( 25)一套软件结构可以同时为CA和应用提供服务;( 26)可以支持33算法、RC4算法、DES/3DES算法;3运行环境3.1硬件系统( 27) 适用于各种PC兼容机、服务器、小型机等等3.2
14、支撑软件( 28) WINDOWS2000,WindowsXP,LINUX(RedHat9.0及AdvancedServer2.1)4开发说明4. 描述系统为二次开发工作提供的接口、约束等。安全中间件分为客户端和服务端2部分,安全中间件客户端主要的功能是在客户端通过对硬件存储介质的操作完成一些密码运算。服务端主要是通过调用密码服务器为应用服务提供所需的密码服务。客户端和服务端产的数据格式都采用国际同意标准。服务端可以运算客户端产生的数据,客户端也可以运算服务端产生的数据。主要用的功能为客户端进行签名、加密,服务端验签、解密或服务端签名、加密,客户端验签、解密。客户端与服务端的数据传输可以由应用
15、开发灵活处理,但要保证在传输前后数据的格式不发生变化。5. 通过安全中间件提供的抽象密码服务,为应用开发提供机密性,完整性,不可抵赖性方面的支持。完成身份认证,电子印章,责任认定,密文传输等应用服务。5.1 客户端描述6. 客户端主要设备是硬件存储介质E-Key,E-Key做为数字证书的存储设备主要存储用户的签名私钥,加密私钥,签名证书,加密证书。通过调用客户端控件可以使用E-Key完成签名,加密等密码服务。4.1.1APP客户端控件接口说明4.1.1.1AtvInit功能简介控件初始化。读取客户端证书载体信息及其它初始化工作。调用一些主要功能接口前必须先调用本接口。接口名称intAtvIni
16、t()参数说明入参说明无出参说明无返回值成功,则返回0失败,则返回错误号,错误号小于04.1.1.2AtvEnd功能简介进行开发包函数库调用完毕后内部存储区的消除工作。接口名称intAtvEnd();参数说明入参说明无出参说明无返回值成功,则返回0失败,则返回错误号,小于04.1.1.3SetHardWare功能简介设置客户端硬件设备类型。接口名称BOOLSetHardWare(longhardwareType);参数说明入参说明hardwareTypeIN:客户端硬件设备尖型目前支持:1软件摸拟实现2加密卡实现3 SIM卡实现4 EKEY实现出参说明无返回值成功,则返回TRUE失败,则返回F
17、ALSE4.1.1.4Login功能简介登录客户端硬件设备。接口名称BOOLLogin(intloginType,BSTRloginPin);参数说明入参说明loginTypeIN:用户登陆类型,此处用户请输入1loginPinIN:用户登陆PIN码出参说明无返回值成功,则返回TRUE失败,则返回FALSE说明调用本接口时,如果loginPin输入为"空,则会弹出输入口令对话框;如果不为空,则不会弹出,只返回登录是否成功。4.1.1.5ChangeLoginPin功能简介修改客户端用户登陆PIN码。接口名称BOOLChangeLoginPin(BSTRkeyLabel,BSTRold
18、Passwd,BSTRnewPasswd);参数说明入参说明keyLabelIN:私钥标签,此处请传入“wellhope”oldPasswdIN:旧的用户登陆口令newPasswdIN:新的用户登陆口令出参说明无返回值成功,则返回TRUE失败,则返回FALSE4.1.1.6Logout功能简介退出客户端硬件登录。接口名称BOOLLogout();参数说明入参说明无出参说明无返回值成功,则返回TRUE失败,则返回FALSE4.1.1.7GetCert功能简介根据证书标签和证书类型读取客户端用户证书。证书标签与在配置文件中,见前面Client.conf配置文件。接口名称BSTRGetCert(in
19、tcertType);参数说明入参说明certTypeIN:证书中型1-加密证书2-签名证书出参说明无返回值返回编码后的证书信息。4.1.1.8CheckCert功能简介验证证书的肩效性。在验证过程中会连接到OCSP服务器上进行证书的验证。接口名称BOOLCheckCert(BSTRi_inCert);参数说明入参说明i_inCertIN:待验证的证书,已编码。出参说明无返回值成功,则返回TRUE失败,则返回FALSE4.1.1.9GetCertInfo功能简介解析证书信息,并以XML字符串格式返回接口名称BSTRGetCertInfo(BSTRi_inCert);参数说明入参说明i_inCe
20、rtIN:待解析的证书,已编码。出参说明无返回值返回采用XML标准结构的证书信息。举例<certinfo><version>3</version><serialnum>00000000000000000000000000000042</serialnum><algorithm>SHA1RSA</algorithm><issuer><dnc>CN</dnc><dn_s>Shanghai</dn_s><dn_l>Zhangjiang</d
21、n_l><dn_o>ShanghaiwellhopeE-BussinessCertificateAuthority</dn_o><dnou>WELLHOPE</dnou><dncn>自然人CA</dncn></issuer><validity><notbefore>2003年08月21日</notbefore><notafter>2004年08月21日</门。12他></validity><subject><dnc&
22、gt;CN</dnc><dn_s>Shanghai</dn_s><dn_l>Zhangjiang</dn_l><dn_o>wellhope</dn_o><dnou>infosec</dnou><dncn>user5</dncn></subject>9914<publickey>30818902818100f34d52b7fb481752a506905e5b8a0698994dc3104fc8f7d1180912c6087dee594225d
23、4ba1946dfad58598859d3501e59fc9cbd86b50c79b2ce09630fed4896651b54c37ae98855545c1434f9f4a15e3a15e9b097b03af16c7465f816bfe2b1a49821a0090e283f82ebf2ed7daa2e76a5ada469ae78108dde58ac13b826fb0203010001</publickey></certinfo>4.1.1.10SealEnvelope功能简介数字信封加密。内部的处理过程是首先随机生成一对称密钥(由入口参数指定其算法或者通过PA确定),然
24、后用此对称密钥加密输入的数据,最后用公钥加密产生的此对称密钥。这是我们推荐的一种对数据进行加密的方法,因为它不仅保证了加密的高效性(对称密钥的快速加密),还保证了加密的高强度性(公钥的强加密)。此函数的加密输出结果遵循PKCS#7的编码标准(EnvelopedData。接口名称BSTRSealEnvelope(BSTRi_encCert,longi_symmAlgo,BSTRi_inData);参数说明入参说明i_encCertIN:用于加密的数字证书,已编过码。i_symmAlgoIN:信封中所用对称算法标识。取值如下:CALG_RC4=26625CALG_3DES=26115CALG_33
25、=9viaPA=0,说明加密过程首先将连接到PA(策略中心)获取相应的参数进行后续的工作i_inDataIN:输入原文信息,如是二进制数据则已编过码。出参说明无返回值输出的已编码的密文结果。4.1.1.11SealEnvelopeEx功能简介用多证书批量生成数字信封。此函数的加密输出结果遵循PKCS#7的编码标准(EnvelopedData。接口名称BSTRSealEnvelopeEx(BSTRi_encCert,longi_certsize,longi_symmAlgo,BSTRi_inData);参数说明入参说明i_encCertIN:用于加密的数字证书,已编过码,多个证书问以“1”隔开。
26、i_certsizeIN:保留参数i_symmAlgoIN:信封中所用对称算法标识。CALG_RC4=26625CALG_3DES=26115CALG_33=9viaPA=0,说明加密过程首先将连接到PA(策略中心)获取相应的参数进行后续的工作i_inDataIN:输入原文信息,如是二进制数据则已编过码。出参说明无返回值输出的已编码的密文结果。4.1.1.12OpenEnvelope功能简介解析数字信封私钥标签在配置文件中定义,运行时弹出输入框提示用户输入私钥保护口令。接口名称BSTROpenEnvelope(BSTRi_inData);参数说明入参说明i_inDataIN:输入已编码的信封数
27、据。出参说明无返回值输出原文信息,如是二进制数据则已编过码。4.1.1.13SignData功能简介对输入数据进行数字签名。私钥标签在配置文件中定义,运行时弹出输入框提示用户输入私钥保护口令。接口名称BSTRSignData(BSTRi_inData,inti_algoType,inti_signType);参数说明入参说明i_inDataIN:输入的待签名数据,二进制数据需要做编码处理。i_algoTypeIN:签名算法取值如:32772shalRSA32771md5RSAshalRSA、md5RSA说明签名采用的是何种摘要算法+签名算法i_signTypeIN:签名值尖型取值:0-不包含原
28、文的纯签名1包含原文的PKCS7格式数据出参说明无返回值输出的已编码的签名数据。4.1.1.14SignDataEx功能简介对输入数据进行数字签名。私钥标签在配置文件中定义,运行时弹出输入框提示用户输入私钥保护口令。接口名称BSTRSignData(BSTRi_sigCert,BSTRi_inData,inti_algoType,inti_signType);参数说明入参说明i_sigCertIN:通信对方的证书,当需要通过PA获取签名算法时需输入i_inDataIN:输入的待签名数据,二进制数据需要做编码处理。i_algoTypeIN:签名算法取值如:32772shalRSA32771md5
29、RSA0viaPA等sha1RSA、md5RSA说明签名米用的是何种摘要算法+签名算法viaPA=0,说明签名过程首先将连接到PA(策略中心)获取相应的参数进行后续的工作i_signTypeIN:签名值尖型取值:0-不包含原文的纯签名1包含原文的符合PKCS7格式的数据出参说明无返回值输出的已编码的签名数据。4.1.1.15VerifySign功能简介对输入数据进行数字签名的验证接口名称BOOLVerifySign(BSTRi_checkCert,BSTRi_clearText,BSTRi_signature,inti_algoType,inti_signType);参数说明入参说明i_che
30、ckCertIN:验证所用的证书。i_clearTextIN:签名的原文。如签名值包含原文,置空即可。i_signatureIN:待验证的签名数据。i_algoTypeIN:签名算法。如签名值/、符合PKCS#7标准,需要输入签名算法。取值如:32772sha1RSA32771md5RSA0viaPA等shalRSA、md5RSA说明签名米用的是何种摘要算法+签名算法viaPA参数说明签名过程将连接到PA(策略中心)获取相应的签名参数进行后续的工作。i_signTypeIN:签名值尖型取值:0不包含原文(纯签名值)1包含原文的符合PKCS7格式的数据出参说明无返回值TRUE:成功FALSE:失
31、败说明目前的用法是:当验证纯签名值时,需要输入签名算法或者通过策略解析器状取匹配算法;当验证PKCS#7格式的签名内容时,由于本身自带r签名算法,因此没有必要再次调用相应的策略解析器了。功能简介生成一定长度的随机数/对称密钥。接口名称BSTR GenRandom(int len);4.1.1.16GenRandom参数说明入参说明lenIN:指定的长度(字节数)。出参说明无返回值输出已编码的随机数/对称密钥。4.1.1.17HashData功能简介对输入数据进行哈希运算。接口名称BSTRHashData(inthashAlgo,BSTRinData);参数说明入参说明hashAlgoIN:哈希
32、算法标识ALGO_SHA132772ALGO_MD532771inDataIN:输入数据信息,如是二进制数据则已编码。出参说明无返回值返回编码后的哈希值04.1.1.18SymmEncrypt功能简介用指定产生的对称密钥KEY来加密数据。接口名称BSTRSymmEncrypt(longi_symmAlgo,BSTRi_symmkey,BSTRi_indata);参数说明入参说明i_symmAlgoIN:对称算法标识。例如:CALG_RC4=26625CALG_3DES=26115CALG_33=9i_symmKeyIN:对称密钥,已编码。i_inDataIN:输入的原文,二进制数据流光编码。出
33、参说明无返回值输出已编码后的密文。4.1.1.19SymmDecrypt功能简介用指定产生的对称密钥KEY来解密密文数据。接口名称BSTRSymmDecrypt(longi_symmAlgo,BSTRi_symmkey,BSTRi_indata);参数说明入参说明i_symmAlgoIN:对称算法标识。例如:CALG_RC4=26625CALG_3DES=26115CALG_33=9i_symmKeyIN:对称密钥,已编码。i_inDataIN:输入的密文,已编码。出参说明无返回值输出解密后的原文,如是二进制数据则已编码。4.1.1.20GetCertFromLDAP功能简介从LDAP服务器查
34、询和获取用户证书。接口名称BSTRGetCertFromLDAP(longi_searchType,longi_certType,BSTRi_searchValue);参数说明入参说明i_searchTypeIN:查找尖型取值范围为1按用户ID查询2按用户邮件地址查询3按证书ID查询i_certTypeIN:证书英型取值范围为1加密证书2签名证书此参数对于按证书ID查询无效i_searchValueIN:查询字符串信息当searchType取值为1时,此参数为用户ID字符串当searchType取值为2时,此参数为用户邮件字符串当searchType取值为3时,此参数为证书ID字符串出参说明无
35、返回值输出已编码后的证书信息。4.1.1.21GetAndSaveCRL功能简介从LDAP服务器获取CRL列表信息,并保存在本地。写入的文件路径在注册表中指定。HKEY_LOCAL_MACHINESOFTWAREwellhopesettingCRLSetting"CRLData"="C:WINNTSystem32CRLDATA.crl"接口名称BOOLGetAndSaveCRL();参数说明入参说明无出参说明无返回值TRUE:成功FALSE:失败4.1.1.22ReadFromFile功能简介从本地读取义件内容。接口名称BSTRReadFromFile(
36、BSTRfileName);参数说明入参说明fileNameIN:要读取的文件全路径名。如果为”空,则弹出文件选择对话框。出参说明无返回值输出已编码过的文件数据信息4.1.1.23WriteToFile功能简介将数据写入到本地文件。接口名称BOOLWriteToFile(BSTRfileNameBSTRwriteData);参数说明入参说明fileNameIN:要保存的文件名称writeDataIN:要写入文件的数据,已编码。出参说明无返回值TRUE:成功FALSE:失败4.1.1.24GetStamp功能简介对输入数据加盖时间戳。接口名称BSTRGetStamp(BSTRinData);参数
37、说明入参说明inDataIN:要加盖时间戳的数据,如是二进制数据则已编码。出参说明无返回值返回已编码的盖戳数据。4.1.1.25VerifyStamp功能简介验证时间戳,如果成功返回盖戳时间。接口名称BSTRVerifyStamp(BSTRinData,BSTRinStampData)参数说明入参说明inDataIN:加盖时间戳的原文数据,如是二进制数据则已编码。inStampDataIN:时间戳签名数据出参说明无返回值返回盖戳时间字符串。日期格式:030902172730年月日时分秒4.1.1.26GetAlgoFromPA功能简介通过策略解析器从PA获取通信双方相应的策略证书,并加以匹配,
38、确定通信过程中使用的具体算法。接口名称longGetAlgoFromPA(BSTRownerCert,BSTRotherCert,intalgoKind,intpriorityKind);参数说明入参说明ownerCertIN:自己的证书otherCertIN:对力的证书algoKindIN:要获取的密码算法的种类1表小非对称算法2表示对称算法3表示摘要算法今后可以扩充priorityKindIN:通信双方所属机构在通信中算法集匹配时的优先级别<0对方优先级高=0优先级相等>0自已优先级高出参说明无返回值具体算法对应的值9表示CALG_3326625表示CALG_RC426115表
39、示CALG_3DES32772表示ALGO_SHA132771表示ALGO_MD5100表示ALGO_RSA101表示ALGO_ECC0表示没有匹配的算法,无法进行相应的通信4.1.1.27Base64Encode功能简介对输入数据进行编码接口名称BSTRBase64Encode(BSTRinData)参数说明入参说明inDataIN:要编码的数据出参说明无返回值返回编码值4.1.1.28Base64Decode功能简介对输入数据进行解码。接口名称BSTRBase64Decode(BSTRinData)参数说明入参说明inDataIN:要解码的数据出参说明无返回值返回解码后的原文4.1.1.2
40、9GetParamValue功能简介从配置文件(C:ConfigClient.conf)中获取相关配置信息。接口名称BSTRGetParamValue(BSTRparamKey);参数说明入参说明paramKeyIN:要查找的键名出参说明无返回值返回相应键的键值(29)4.2服务端描述4.2.1 APP应用服务器端JAVA接口4.2.1.1 release功能简介进行开发包函数库调用完毕后内部存储区的消除工作。接口名称booleanrelease。;参数说明入参说明无出参说明无返回值成功:true失败:false4.2.1.2GetCurStatus功能简介得到当前状态代码。接口名称intGe
41、tCurStatus();参数说明入参说明无出参说明无返回值返回当前状态代码。4.2.1.3AdvBase64Encode功能简介对二进制数据进行BASE64编码。接口名称StringAdvBase64Encode(bytei_inData);参数说明入参说明i_inDataIN:要编码的二进制数据出参说明无返回值输出已编码的数据。4.2.1.4AdvBase64Decode功能简介对BASE64编码数据解码。接口名称byte口AdvBase64Decode(Stringi_inData);参数说明入参说明i_inDataIN:要解码的BASE64编码数据出参说明无返回值输出解码后的二进制数据
42、。4.2.1.5AdvGetCert功能简介根据证书标签和证书类型读取服务器证书。证书标签与在配置文件中,见前面Client.conf配置文件。接口名称StringAdvGetCert(intcertType);参数说明入参说明certTypeIN:证书中型1-加密证书2-签名证书出参说明无返回值返回编码后的证书信息。4.2.1.6AdvCheckCert功能简介验证证书的肩效性。在验证过程中通过本地CRL列表进行证书的验证。接口名称booleanAdvCheckCert(Stringi_inCert);参数说明入参说明i_inCertIN:待验证的证书,已编码。出参说明无返回值成功:true
43、失败:false4.2.1.7AdvGetCertInfo功能简介解析证书信息,并以XML字符串格式返回接口名称StringAdvGetCertInfo(Stringi_inCert);参数说明入参说明i_inCertIN:待解析的证书,已编码。出参说明无返回值返回采用XML标准结构的证书信息。举例<certinfo><version>3</version><serialnum>00000000000000000000000000000042</serialnum><algorithm>SHA1RSA</algori
44、thm><issuer><dnc>CN</dnc><dn_s>Shanghai</dn_s><dn_l>Zhangjiang</dn_l><dn_o>ShanghaiwellhopeE-BussinessCertificateAuthority</dn_o><dnou>WELLHOPE</dnou><dncn>自然人CA</dncn></issuer><validity><notbefore>200
45、3年08月21日</notbefore><notafter>2004年08月21日</门。12他></validity><subject><dnc>CN</dnc><dn_s>Shanghai</dn_s><dn_l>Zhangjiang</dn_l><dn_o>wellhope</dn_o><dnou>infosec</dnou><dncn>user5</dncn></subject&
46、gt;9914<publickey>30818902818100f34d52b7fb481752a506905e5b8a0698994dc3104fc8f7d1180912c6087dee594225d4ba1946dfad58598859d3501e59fc9cbd86b50c79b2ce09630fed4896651b54c37ae98855545c1434f9f4a15e3a15e9b097b03af16c7465f816bfe2b1a49821a0090e283f82ebf2ed7daa2e76a5ada469ae78108dde58ac13b826fb0203010001
47、</publickey></certinfo>4.2.1.8AdvSealEnvelope功能简介数字信封加密。内部的处理过程是首先随机生成一对称密钥(由入口参数指定其算法或者通过PA确定),然后用此对称密钥加密输入的数据,最后用公钥加密产生的此对称密钥。这是我们推荐的一种对数据进行加密的方法,因为它不仅保证了加密的高效性(对称密钥的快速加密),还保证了加密的高强度性(公钥的强加密)。此函数的加密输出结果遵循PKCS#7的编码标准(EnvelopedData。接口名称StringAdvSealEnvelope(Stringi_encCert,inti_symmAlgo,
48、byte口i_inData);参数说明入参说明i_encCertIN:用于加密的数字证书,已编过码。i_symmAlgoIN:信封中所用对称算法标识。CALG_RC4=26625CALG_3DES=26115CALG_33=9viaPA=0,说明加密过程首先将连接到PA(策略中心)获取相应的参数进行后续的工作i_inDataIN:输入原文信息。出参说明无返回值输出的已编码的密文结果。4.2.1.9AdvSealEnvelopeEx功能简介用多证书批量生成数字信封。此函数的加密输出结果遵循PKCS#7的编码标准(EnvelopedData。接口名称StringAdvSealEnvelopeEx(
49、Stringi_encCert,inti_certnum,inti_symmAlgo,byte口i_inData);参数说明入参说明i_encCertIN:用于加密的数字证书,已编过码,多个证书问以“1”隔开。i_certnumIN:生成信封的证书数目i_symmAlgoIN:信封中所用对称算法标识。CALG_RC4=26625CALG_3DES=26115CALG_33=9viaPA=0,说明加密过程首先将连接到PA(策略中心)获取相应的参数进行后续的工作i_inDataIN:输入原文信息。出参说明无返回值输出的已编码的密文结果。4.2.1.10AdvOpenEnvelope功能简介对数字信
50、封进行解密工作,即拆封工作。私钥标签在配置文件中定义。接口名称byte口AdvOpenEnvelope(StringkeyPasswd,Stringi_inData);参数说明入参说明keyPasswdIN:解密私钥的保护口令。i_inDataIN:输入已编码的信封数据。出参说明无返回值输出原文信息。4.2.1.11AdvSignData功能简介对输入数据进行数字签名。私钥标签在配置文件中定义。接口名称StringAdvSignData(StringkeyPasswd,byte口i_inData,inti_algoType,inti_signType);参数说明入参说明keyPasswdIN:
51、签名私钥的保护口令。i_inDataIN:输入的待签名数据。i_algoTypeIN:签名算法取值如:32772shalRSA32771md5RSAsha1RSA、md5RSA说明签名米用的是何种摘要算法+签名算法i_signTypeIN:签名值尖型取值:0-不包含原文的纯签名1包含原文的符合PKCS7格式的数据出参说明无返回值输出的已编码的签名数据。4.2.1.12AdvSignDataEx功能简介对输入数据进行数字签名。私钥标签在配置文件中定义。接口名称StringAdvSignDataEx(Stringi_sigCert,StringkeyPasswd,byte口i_inData,int
52、i_algoType,inti_signType);参数说明入参说明i_sigCertIN:通信对方的证书,当需要通过PA获取签名算法时需输入keyPasswdIN:私钥保护口令。i_inDataIN:输入的待签名数据,二进制数据需要做编码处理。i_algoTypeIN:签名算法取值如:32772shalRSA32771md5RSA0viaPA等shalRSA、md5RSA说明签名米用的是何种摘要算法+签名算法viaPA=0,说明签名过程首先将连接到PA(策略中心)获取相应的参数进行后续的工作i_signTypeIN:签名值尖型取值:0-不包含原文的纯签名1包含原文的符合PKCS7格式的数据出参说明无返回值输出的已编码的签名数据。4.2.1.13AdvVerifySign功能简介对输入数据进行数字签名的验证。接口名称booleanAdvVerifySign(Stringi_checkCert,byte口i_clearText,Stringi_signature,inti_algoType,inti_signType);参数说明入参说明i_checkCertIN:验证所用的证书。i_clearTextIN:签名的原文。如签名值包含原文,请置为空即可。i_signatureIN:待验证的签名数据。i_algoTypeIN:签名算法。如签名值不符
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工电梯人工合同协议
- 易的猪肉采购合同范本
- 位兼职劳动合同范本
- 政府采购合同取消协议
- 行政专员绩效合同范本
- 网上银行电子合同范本
- 疫情期间供餐合同范本
- 物业秩序外包合同范本
- 浙江国企招聘2025年金华浦江县国有企业劳务派遣员工公开招聘28人笔试历年参考题库附带答案详解
- 2026国家能源集团招聘直招陕西省职位查看笔试历年参考题库附带答案详解
- 2025年中国国际货运代理行业市场情况研究及竞争格局分析报告
- 家庭教育概论 课件 第5章 亲子关系:家庭教育的起点与结果
- 500千伏输电线路工程项目管理实施规划
- 家具油漆翻新施工方案
- 哪吒主题课件模板文档
- 2025年鞍钢集团招聘笔试参考题库含答案解析
- 2024建筑新能源应用设计标准
- 2024年客运资格证考试试题及答案解析
- JTS+155-1-2019码头岸电设施检测技术规范
- DL-T-1946-2018气体绝缘金属封闭开关设备X射线透视成像现场检测技术导则
- 血液透析中低血压的预防与治疗
评论
0/150
提交评论