资源描述
安全中间件二次开发手册
Copyright © Shanghai wellhope Information Technology Co.,Ltd. All Rights Reserved
目 录
1 引言 4
1.1 编写目标 4
1.2 项目背景 4
1.3 术语和缩写词 5
1.4 遵照标准 5
2 系统概述 7
2.1 功效 8
2.2 性能 9
精度 9
时间特征 9
灵活性 9
3 运行环境 10
3.1 硬件系统 10
3.2 支撑软件 10
4 开发说明 10
4.1 用户端描述 11
4.1.1APP用户端控件接口说明 11
4.1.1.1 AtvInit 11
4.1.1.2 AtvEnd 11
4.1.1.3 SetHardWare 12
4.1.1.4 Login 12
4.1.1.5 ChangeLoginPin 12
4.1.1.6 Logout 13
4.1.1.7 GetCert 13
4.1.1.8 CheckCert 13
4.1.1.9 GetCertInfo 14
4.1.1.10 SealEnvelope 15
4.1.1.11 SealEnvelopeEx 16
4.1.1.12 OpenEnvelope 17
4.1.1.13 SignData 17
4.1.1.14 SignDataEx 18
4.1.1.15 VerifySign 18
4.1.1.16 GenRandom 19
4.1.1.17 HashData 19
4.1.1.18 SymmEncrypt 20
4.1.1.19 SymmDecrypt 20
4.1.1.20 GetCertFromLDAP 21
4.1.1.21 GetAndSaveCRL 21
4.1.1.22 ReadFromFile 22
4.1.1.23 WriteToFile 22
4.1.1.24 GetStamp 22
4.1.1.25 VerifyStamp 23
4.1.1.26 GetAlgoFromPA 23
4.1.1.27 Base64Encode 24
4.1.1.28 Base64Decode 24
4.1.1.29 GetParamValue 25
4.2 服务端描述 25
4.2.1 APP应用服务器端JAVA接口 25
4.2.1.1 release 25
4.2.1.2GetCurStatus 25
4.2.1.3AdvBase64Encode 26
4.2.1.4 AdvBase64Decode 26
4.2.1.5AdvGetCert 26
4.2.1.6AdvCheckCert 26
4.2.1.7AdvGetCertInfo 27
4.2.1.8AdvSealEnvelope 28
4.2.1.9 AdvSealEnvelopeEx 29
4.2.1.10 AdvOpenEnvelope 30
4.2.1.11 AdvSignData 30
4.2.1.12 AdvSignDataEx 31
4.2.1.13 AdvVerifySign 31
4.2.1.14 AdvGenRandom 32
4.2.1.15 AdvHashData 32
4.2.1.16 AdvSymmEncrypt 33
4.2.1.17 AdvSymmDecrypt 33
4.2.1.18 AdvGetCertFromLDAP 34
4.2.1.19 AdvGetCRLFromLDAP 34
4.2.1.20 AdvUploadCRL 35
4.2.1.21 AdvReadFromFile 35
4.2.1.22 AdvWriteToFile 35
4.2.1.23 AdvGetStamp 36
4.2.1.24 AdvVerifyStamp 36
4.2.1.25 AdvGetAlgoFromPA 36
4.2.1.26 AdvGetAttrCertInfo 37
4.2.1.27 AdvGetPACertInfo 37
4.2.1.28 AdvGetAttrCertListFromLDAP 38
5 应用开发实例 39
5.1 身份认证参考模型 40
5.2 加解密功效参考模型 43
5.3 署名验签功效参考模型 44
1 引言
1.1 编写目标
该文档关键规范了PKI安全中间件功效接口定义。在整个PKI体系中,安全中间件作用很关键,它经过调用底层WHCSP及证书管理器等,封装了一系列PKI应用接口,满足上层PKI具体应用需要。
本标准适适用于PKI上层应用需求,关键为CA系统。适用对象为全部采取安全中间件系统开发人员。
1.2 项目背景
高级密码服务,顾名思义,是为用户提供相对高级和抽象密码服务,而不是像底层CSP和硬件加密算法那样,提供比较低级和具体密码服务。通常来说,高级密码服务应该能够让不懂加密、解密和署名、验签等概念用户也能够透明使用,也就是说把密码学算法细节给屏蔽掉了。
1.3 术语和缩写词
缩写、术语
解 释
PKI
公钥基础设施(Public Key Infrastructure)
CSP
Cryptographic Service Provider(密码服务提供者)
CRL
证书撤消列表( Certificate Revocation List )
一个标识一系列不再被证书公布者所信任证书署名列表(通称黑名单)。
LDAP
目录查询协议( Lightweight Directory Access Protocol )
本设计指轻型目录访问协议LDAP。用户可使用LDAP协议,经过网络到目录服务器查询系统中证书或证书撤消列表。
OCSP
在线证书状态查询协议(Online Certificate Status Protocol)
用户可使用OCSP协议,经过网络到OCSP服务器实时查询系统中证书目前有效/无效状态。
1.4 遵照标准
列出参考资料,如:
l RFC 2459 PKIX PKIX证书和CRL概要
l IETF: PKIX证书策略和证书实践框架
l IETF:RFC 2510: CMP(证书管理协议)
l RFC 2797: CMC(CMS上证书管理消息)
l RFC 2511: CRMF(证书请求消息格式)
l X.208 抽象语法符号1 描述(ASN.1)
l X.209 抽象语法符号1 基础编码规范说明(ASN.1)
l X.680 信息技术―抽象语法符号1 (ASN.1)—基础符号规范
l X.681 信息技术―抽象语法符号1 (ASN.1)-信息目标规范
l X.682 信息技术―抽象语法符号1 (ASN.1)-强制规范
l X.690 信息技术―ASN.1 编码规则-基础编码规则(BER), 规范编码规则(CER)和关键编码规则(DER)
l X.509v4 信息技术-开放式系统互连-目录:公钥和属性证书框架
l X.500 开放式系统互连—目录:概念,模型和服务概述
l LDAP 轻目录访问协议:由ISO于1997年12月公布。
l PKCS#1 (v1.5) RSA密码算法
l PKCS#5 (v2.0) 基于口令密码标准
l PKCS#6 (v1.5) 扩展数字证书语法标准
l PKCS#7 (v1.5) 密文消息语法标准
l PKCS#8 (v1.5) 私钥信息语法标准
l PKCS#9 (v2.0) 可选择属性类型
l PKCS#10 (v1.5) 数字证书申请语法标准
l PKCS#11硬件密码设备接口标准
l PKCS#12 (v1.0) 个人信息交换语法
l PKCS#15 (v1.1) 多个应用访问标准
l X.509 开放式系统互连—目录:公钥和授权证书框架
l ITU-T X.500 开放式系统互连—目录:概念,模型和服务概述
l CORBA(公共对象请求代理体系结构) v2.4
2 系统概述
在PKI体系结构中【见上图】,安全中间件总揽了证书管理器和CSP全部功效。它在PC端和PKI服务器端全部是直接面向最终用户调用接口,所以,它必需能够屏蔽掉PC端和PKI服务器端不一样情况。
安全中间件是为用户提供相对高级和抽象密码服务,而不是像底层CSP和硬件加密算法那样,提供比较低级和具体密码服务。通常来说,安全中间件服务应该能够让不懂加密、解密和署名、验签等概念用户也能够透明使用,也就是说把密码学算法细节给屏蔽掉了。
2.1 功效
l 抽象算法服务
1. 对指定明文进行加密功效,包含口令加密、对称密钥加密和公开密钥加密。
2. 对指定密文进行解密功效,包含对称密钥解密和公开密钥解密。
3. 对指定明文进行署名功效。
4. 对指定署名进行验签功效
5. 封装PKCS7数字信封
6. 解开PKCS7数字信封
7. 对明文进行散列。
8. 产生随机数。
l 抽象证书服务
1. 依据标签得到证书
2. 验证证书有效性
3. 生成PKCS10格式证书请求文件
4. 输入绑定证书和私钥。
l 私钥和口令保护服务
1. 检验私钥口令
2. 更改私钥口令
3. 检验PIN
4. 更改PIN
l 编码服务
5. ASE64编码功效
6. BASE64解码功效
2.2 性能
精度
TSP响应时间<1s;
OCSP响应时间<1s;
LDAP服务单元响应速度<0.5s
时间特征
用户端 RSA 署名 2次/秒
验签 5次/秒
服务器端 RSA 署名 20次/秒
验签 100次/秒
灵活性
能够灵活支持多个硬件介质和硬件加密卡;
能够提供C/C++、Java、C#等应用接口;
一套软件结构能够同时为CA和应用提供服务;
能够支持33算法、RC4算法、DES/3DES算法;
3 运行环境
3.1 硬件系统
适适用于多种PC兼容机、服务器、小型机等等
3.2 支撑软件
WINDOWS ,WindowsXP,LINUX(RedHat9.0及Advanced Server2.1)
4 开发说明
描述系统为二次开发工作提供接口、约束等。安全中间件分为用户端和服务端2部分,安全中间件用户端关键功效是在用户端经过对硬件存放介质操作完成部分密码运算。服务端关键是经过调用密码服务器为应用服务提供所需密码服务。用户端和服务端产数据格式全部采取国际同意标准。服务端能够运算用户端产生数据,用户端也能够运算服务端产生数据。关键用功效为用户端进行署名、加密,服务端验签、解密或服务端署名、加密,用户端验签、解密。用户端和服务端数据传输能够由应用开发灵活处理,但要确保在传输前后数据格式不发生改变。
经过安全中间件提供抽象密码服务,为应用开发提供机密性,完整性,不可抵赖性方面支持。完成身份认证,电子印章,责任认定,密文传输等应用服务。
4.1 用户端描述
用户端关键设备是硬件存放介质E-Key,E-Key做为数字证书存放设备关键存放用户署名私钥,加密私钥,署名证书,加密证书。经过调用用户端控件能够使用E-Key完成署名,加密等密码服务。
4.1.1APP用户端控件接口说明
4.1.1.1 AtvInit
功效介绍
控件初始化。读取用户端证书载体信息及其它初始化工作。
调用部分关键功效接口前必需先调用本接口。
接口名称
int AtvInit()
参数说明
入参说明
无
出参说明
无
返回值
成功,则返回0
失败,则返回错误号,错误号小于0
4.1.1.2 AtvEnd
功效介绍
进行开发包函数库调用完成后内部存放区清除工作。
接口名称
int AtvEnd();
参数说明
入参说明
无
出参说明
无
返回值
成功,则返回0
失败,则返回错误号,小于0
4.1.1.3 SetHardWare
功效介绍
设置用户端硬件设备类型。
接口名称
BOOL SetHardWare(long hardwareType);
参数说明
入参说明
hardwareType[IN]:用户端硬件设备类型
现在支持:
1 软件摸拟实现
2 加密卡实现
3 SIM卡实现
4 EKEY实现
出参说明
无
返回值
成功,则返回TRUE
失败,则返回FALSE
4.1.1.4 Login
功效介绍
登录用户端硬件设备。
接口名称
BOOL Login(int loginType,
BSTR loginPin);
参数说明
入参说明
loginType[IN]:用户登陆类型,此处用户请输入1
loginPin[IN]:用户登陆PIN码
出参说明
无
返回值
成功,则返回TRUE
失败,则返回FALSE
说明
调用本接口时,假如loginPin输入为””空,则会弹出输入口令对话框;假如不为空,则不会弹出,只返回登录是否成功。
4.1.1.5 ChangeLoginPin
功效介绍
修改用户端用户登陆PIN码。
接口名称
BOOL ChangeLoginPin(BSTR keyLabel,
BSTR oldPasswd,
BSTR newPasswd);
参数说明
入参说明
keyLabel[IN]: 私钥标签,此处请传入“wellhope”
oldPasswd[IN]: 旧用户登陆口令
newPasswd[IN]:新用户登陆口令
出参说明
无
返回值
成功,则返回TRUE
失败,则返回FALSE
4.1.1.6 Logout
功效介绍
退出用户端硬件登录。
接口名称
BOOL Logout();
参数说明
入参说明
无
出参说明
无
返回值
成功,则返回TRUE
失败,则返回FALSE
4.1.1.7 GetCert
功效介绍
依据证书标签和证书类型读取用户端用户证书。
证书标签写在配置文件中,见前面Client.conf配置文件。
接口名称
BSTR GetCert(int certType);
参数说明
入参说明
certType[IN]:证书类型
1 --- 加密证书
2 --- 署名证书
出参说明
无
返回值
返回编码后证书信息。
4.1.1.8 CheckCert
功效介绍
验证证书有效性。
在验证过程中会连接到OCSP服务器上进行证书验证。
接口名称
BOOL CheckCert(BSTR i_inCert);
参数说明
入参说明
i_inCert[IN]:待验证证书,已编码。
出参说明
无
返回值
成功,则返回TRUE
失败,则返回FALSE
4.1.1.9 GetCertInfo
功效介绍
解析证书信息,并以XML字符串格式返回
接口名称
BSTR GetCertInfo(BSTR i_inCert);
参数说明
入参说明
i_inCert[IN]:待解析证书,已编码。
出参说明
无
返回值
返回采取XML标准结构证书信息。
[举例]
<certinfo>
<version>3</version>
<serialnum>00000042</serialnum>
<algorithm>SHA1RSA</algorithm>
<issuer>
<dn_c>CN</dn_c>
<dn_s>Shanghai</dn_s>
<dn_l>Zhangjiang</dn_l>
<dn_o>Shanghai wellhope E-Bussiness Certificate Authority</dn_o>
<dn_ou>WELLHOPE</dn_ou>
<dn_cn>自然人CA</dn_cn>
</issuer>
<validity>
<notbefore>08月21日</notbefore>
<notafter>08月21日</notafter>
</validity>
<subject>
<dn_c>CN</dn_c>
<dn_s>Shanghai</dn_s>
<dn_l>Zhangjiang</dn_l>
<dn_o>wellhope</dn_o>
<dn_ou>infosec</dn_ou>
<dn_cn>user5</dn_cn>
</subject>
<publickey>308f34d52b7fb481752a506905e5b8a0698994dc3104fc8f7d1180912c6087dee594225d4ba1946dfad58598859d3501e59fc9cbd86b50c79b2ce09630fed4896651b54c37ae98855545c1434f9f4a15e3a15e9b09997b03af16c7465f816bfe2b1a49821a0090e283f82ebf2ed7daa2e76a5ada469a14e78108dde58ac13b826fb</publickey>
</certinfo>
4.1.1.10 SealEnvelope
功效介绍
数字信封加密。
内部处理过程是首先随机生成一对称密钥(由入口参数指定其算法或经过PA确定),然后用此对称密钥加密输入数据,最终用公钥加密产生此对称密钥。这是我们推荐一个对数据进行加密方法,因为它不仅确保了加密高效性(对称密钥快速加密),还确保了加密高强度性(公钥强加密)。
此函数加密输出结果遵照PKCS#7编码标准(EnvelopedData)。
接口名称
BSTR SealEnvelope( BSTR i_encCert,
long i_symmAlgo,
BSTR i_inData);
参数说明
入参说明
i_encCert[IN]: 用于加密数字证书,已编过码。
i_symmAlgo[IN]: 信封中所用对称算法标识。取值以下:
CALG_RC4 = 26625
CALG_3DES = 26115
CALG_33 = 9
viaPA = 0,说明加密过程首先将连接到PA(策略中心)获取对应参数进行后续工作
i_inData[IN]: 输入原文信息,如是二进制数据则已编过码。
出参说明
无
返回值
输出已编码密文结果。
4.1.1.11 SealEnvelopeEx
功效介绍
用多证书批量生成数字信封。
此函数加密输出结果遵照PKCS#7编码标准(EnvelopedData)。
接口名称
BSTR SealEnvelopeEx(BSTR i_encCert,
long i_certsize,
long i_symmAlgo,
BSTR i_inData);
参数说明
入参说明
i_encCert[IN]: 用于加密数字证书,已编过码,多个证书间以“|”隔开。
i_certsize[IN]: 保留参数
i_symmAlgo[IN]: 信封中所用对称算法标识。
CALG_RC4 = 26625
CALG_3DES = 26115
CALG_33 = 9
viaPA = 0,说明加密过程首先将连接到PA(策略中心)获取对应参数进行后续工作
i_inData[IN]: 输入原文信息,如是二进制数据则已编过码。
出参说明
无
返回值
输出已编码密文结果。
4.1.1.12 OpenEnvelope
功效介绍
解析数字信封
私钥标签在配置文件中定义,运行时弹出输入框提醒用户输入私钥保护口令。
接口名称
BSTR OpenEnvelope(BSTR i_inData);
参数说明
入参说明
i_inData[IN]: 输入已编码信封数据。
出参说明
无
返回值
输出原文信息, 如是二进制数据则已编过码。
4.1.1.13 SignData
功效介绍
对输入数据进行数字署名。
私钥标签在配置文件中定义,运行时弹出输入框提醒用户输入私钥保护口令。
接口名称
BSTR SignData(BSTR i_inData,
int i_algoType,
int i_signType);
参数说明
入参说明
i_inData[IN]:输入待署名数据,二进制数据需要做编码处理。
i_algoType[IN]:署名算法
取值如:32772 -------- sha1RSA
32771 ------- md5RSA
sha1RSA、md5RSA说明署名采取是何种摘要算法+署名算法
i_signType[IN]:署名值类型
取值:0--不包含原文纯署名
1--包含原文PKCS7格式数据
出参说明
无
返回值
输出已编码署名数据。
4.1.1.14 SignDataEx
功效介绍
对输入数据进行数字署名。
私钥标签在配置文件中定义,运行时弹出输入框提醒用户输入私钥保护口令。
接口名称
BSTR SignData(BSTR i_sigCert,
BSTR i_inData,
int i_algoType,
int i_signType);
参数说明
入参说明
i_sigCert[IN]:通信对方证书,当需要经过PA获取署名算法时需输入
i_inData[IN]:输入待署名数据,二进制数据需要做编码处理。
i_algoType[IN]:署名算法
取值如:32772 -------- sha1RSA
32771 ------- md5RSA
0 --------viaPA等
sha1RSA、md5RSA说明署名采取是何种摘要算法+署名算法
viaPA = 0,说明署名过程首先将连接到PA(策略中心)获取对应参数进行后续工作
i_signType[IN]:署名值类型
取值:0--不包含原文纯署名
1--包含原文符合PKCS7格式数据
出参说明
无
返回值
输出已编码署名数据。
4.1.1.15 VerifySign
功效介绍
对输入数据进行数字署名验证
接口名称
BOOL VerifySign( BSTR i_checkCert,
BSTR i_clearText,
BSTR i_signature,
int i_algoType,
int i_signType);
参数说明
入参说明
i_checkCert [IN]:验证所用证书。
i_clearText [IN]:署名原文。如署名值包含原文,置空即可。
i_signature [IN]:待验证署名数据。
i_algoType[IN]:署名算法。如署名值不符合PKCS#7标准,需要输入署名算法。
取值如:32772 -------- sha1RSA
32771 ------- md5RSA
0 --------viaPA等
sha1RSA、md5RSA说明署名采取是何种摘要算法+署名算法
viaPA参数说明署名过程将连接到PA(策略中心)获取对应署名参数进行后续工作。
i_signType[IN]:署名值类型
取值:0--不包含原文(纯署名值)
1――包含原文符合PKCS7格式数据
出参说明
无
返回值
TRUE:成功
FALSE:失败
说明
现在使用方法是:当验证纯署名值时,需要输入署名算法或经过策略解析器获取匹配算法;
当验证PKCS#7格式署名内容时,因为本身自带了署名算法,所以没有必需再次调用对应策略解析器了。
4.1.1.16 GenRandom
功效介绍
生成一定长度随机数/对称密钥。
接口名称
BSTR GenRandom(int len);
参数说明
入参说明
len[IN]: 指定长度(字节数)。
出参说明
无
返回值
输出已编码随机数/对称密钥。
4.1.1.17 HashData
功效介绍
对输入数据进行哈希运算。
接口名称
BSTR HashData( int hashAlgo,
BSTR inData );
参数说明
入参说明
hashAlgo[IN]: 哈希算法标识
ALGO_SHA1 32772
ALGO_MD5 32771
inData[IN]: 输入数据信息,如是二进制数据则已编码。
出参说明
无
返回值
返回编码后哈希值。
4.1.1.18 SymmEncrypt
功效介绍
用指定产生对称密钥KEY来加密数据。
接口名称
BSTR SymmEncrypt(long i_symmAlgo,
BSTR i_symmkey,
BSTR i_indata);
参数说明
入参说明
i_symmAlgo[IN]: 对称算法标识。
比如: CALG_RC4 = 26625
CALG_3DES = 26115
CALG_33 = 9
i_symmKey[IN]: 对称密钥,已编码。
i_inData[IN]: 输入原文,二进制数据流先编码。
出参说明
无
返回值
输出已编码后密文。
4.1.1.19 SymmDecrypt
功效介绍
用指定产生对称密钥KEY来解密密文数据。
接口名称
BSTR SymmDecrypt(long i_symmAlgo,
BSTR i_symmkey,
BSTR i_indata);
参数说明
入参说明
i_symmAlgo[IN]: 对称算法标识。
比如: CALG_RC4 = 26625
CALG_3DES = 26115
CALG_33 = 9
i_symmKey[IN]: 对称密钥,已编码。
i_inData[IN]: 输入密文,已编码。
出参说明
无
返回值
输出解密后原文,如是二进制数据则已编码。
4.1.1.20 GetCertFromLDAP
功效介绍
从LDAP服务器查询和获取用户证书。
接口名称
BSTR GetCertFromLDAP(long i_searchType,
long i_certType,
BSTR i_searchValue);
参数说明
入参说明
i_searchType[IN]: 查找类型
取值范围为
1 按用户ID查询
2 按用户邮件地址查询
3 按证书ID查询
i_certType[IN]: 证书类型
取值范围为
1 加密证书
2 署名证书
此参数对于按证书ID查询无效
i_searchValue[IN]: 查询字符串信息
当searchType取值为1时,此参数为用户ID字符串
当searchType取值为2时,此参数为用户邮件字符串
当searchType取值为3时,此参数为证书ID字符串
出参说明
无
返回值
输出已编码后证书信息。
4.1.1.21 GetAndSaveCRL
功效介绍
从LDAP服务器获取CRL列表信息,并保留在当地。
写入文件路径在注册表中指定。
[HKEY_LOCAL_MACHINE\SOFTWARE\wellhope\setting\CRLSetting]
"CRLData"="C:\\WINNT\\System32\\CRLDATA.crl"
接口名称
BOOL GetAndSaveCRL();
参数说明
入参说明
无
出参说明
无
返回值
TRUE:成功
FALSE:失败
4.1.1.22 ReadFromFile
功效介绍
从当地读取文件内容。
接口名称
BSTR ReadFromFile(BSTR fileName);
参数说明
入参说明
fileName[IN]: 要读取文件全路径名。假如为””空,则弹出文件选择对话框。
出参说明
无
返回值
输出已编码过文件数据信息
4.1.1.23 WriteToFile
功效介绍
将数据写入到当地文件。
接口名称
BOOL WriteToFile(BSTR fileName
BSTR writeData);
参数说明
入参说明
fileName[IN]: 要保留文件名称
writeData[IN]: 要写入文件数据,已编码。
出参说明
无
返回值
TRUE:成功
FALSE:失败
4.1.1.24 GetStamp
功效介绍
对输入数据加盖时间戳。
接口名称
BSTR GetStamp(BSTR inData);
参数说明
入参说明
inData[IN]: 要加盖时间戳数据,如是二进制数据则已编码。
出参说明
无
返回值
返回已编码盖戳数据。
4.1.1.25 VerifyStamp
功效介绍
验证时间戳,假如成功返回盖戳时间。
接口名称
BSTR VerifyStamp(BSTR inData,
BSTR inStampData)
参数说明
入参说明
inData[IN]: 加盖时间戳原文数据,如是二进制数据则已编码。
inStampData[IN]: 时间戳署名数据
出参说明
无
返回值
返回盖戳时间字符串。
日期格式:03 09 02 17 27 30
年 月 日 时 分 秒
4.1.1.26 GetAlgoFromPA
功效介绍
经过策略解析器从PA获取通信双方对应策略证书,并加以匹配,确定通信过程中使用具体算法。
接口名称
long GetAlgoFromPA(BSTR ownerCert,
BSTR otherCert,
int algoKind,
int priorityKind);
参数说明
入参说明
ownerCert[IN]:自己证书
otherCert[IN]:对方证书
algoKind[IN]:要获取密码算法种类
1 表示非对称算法
2 表示对称算法
3 表示摘要算法
以后能够扩充
priorityKind[IN]:通信双方所属机构在通信中算法集匹配时优先等级
<0 对方优先级高
=0 优先级相等
>0 自已优先级高
出参说明
无
返回值
具体算法对应值
9表示CALG_33
26625表示CALG_RC4
26115表示CALG_3DES
32772表示ALGO_SHA1
32771表示ALGO_MD5
100表示ALGO_RSA
101表示ALGO_ECC
0表示没有匹配算法,无法进行对应通信
4.1.1.27 Base64Encode
功效介绍
对输入数据进行编码
接口名称
BSTR Base64Encode(BSTR inData)
参数说明
入参说明
inData [IN]:要编码数据
出参说明
无
返回值
返回编码值
4.1.1.28 Base64Decode
功效介绍
对输入数据进行解码。
接口名称
BSTR Base64Decode(BSTR inData)
参数说明
入参说明
inData [IN]:要解码数据
出参说明
无
返回值
返回解码后原文
4.1.1.29 GetParamValue
功效介绍
从配置文件(C:\Config\Client.conf)中获取相关配置信息。
接口名称
BSTR GetParamValue(BSTR paramKey);
参数说明
入参说明
paramKey[IN]:要查找键名
出参说明
无
返回值
返回对应键键值
4.2 服务端描述
4.2.1 APP应用服务器端JAVA接口
4.2.1.1 release
功效介绍
进行开发包函数库调用完成后内部存放区清除工作。
接口名称
boolean release();
参数说明
入参说明
无
出参说明
无
返回值
成功:true
失败:false
4.2.1.2GetCurStatus
功效介绍
得到目前状态代码。
接口名称
int GetCurStatus();
参数说明
入参说明
无
出参说明
无
返回值
返回目前状态代码。
4.2.1.3AdvBase64Encode
功效介绍
对二进制数据进行BASE64编码。
接口名称
String AdvBase64Encode(byte[] i_inData);
参数说明
入参说明
i_inData[IN]: 要编码二进制数据
出参说明
无
返回值
输出已编码数据。
4.2.1.4 AdvBase64Decode
功效介绍
对BASE64编码数据解码。
接口名称
byte[] AdvBase64Decode(String i_inData);
参数说明
入参说明
i_inData[IN]:要解码BASE64编码数据
出参说明
无
返回值
输出解码后二进制数据。
4.2.1.5AdvGetCert
功效介绍
依据证书标签和证书类型读取服务器证书。
证书标签写在配置文件中,见前面Client.conf配置文件。
接口名称
String AdvGetCert(int certType);
参数说明
入参说明
certType[IN]:证书类型
1 --- 加密证书
2 --- 署名证书
出参说明
无
返回值
返回编码后证书信息。
4.2.1.6AdvCheckCert
功效介绍
验证证书有效性。
在验证过程中经过当地CRL列表进行证书验证。
接口名称
boolean AdvCheckCert(String i_inCert);
参数说明
入参说明
i_inCert[IN]:待验证证书,已编码。
出参说明
无
返回值
成功:true
失败:false
4.2.1.7AdvGetCertInfo
功效介绍
解析证书信息,并以XML字符串格式返回
接口名称
String AdvGetCertInfo(String i_inCert);
参数说明
入参说明
i_inCert[IN]:待解析证书,已编码。
出参说明
无
返回值
返回
展开阅读全文