




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 48 安全中间件二次开发手册安全中间件二次开发手册 Copyright 2003 Shanghai wellhope Information Technology Co Ltd All Rights Reserved I 48 目目 录录 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 1AtvInit 11 4 1 1 2AtvEnd 11 4 1 1 3SetHardWare 12 4 1 1 4Login 12 4 1 1 5ChangeLoginPin 12 4 1 1 6Logout 13 4 1 1 7GetCert 13 4 1 1 8CheckCert 13 4 1 1 9GetCertInfo 14 II 48 4 1 1 10SealEnvelope 15 4 1 1 11SealEnvelopeEx 16 4 1 1 12OpenEnvelope 17 4 1 1 13SignData 17 4 1 1 14SignDataEx 18 4 1 1 15VerifySign 18 4 1 1 16GenRandom 19 4 1 1 17HashData 19 4 1 1 18SymmEncrypt 20 4 1 1 19SymmDecrypt 20 4 1 1 20GetCertFromLDAP 21 4 1 1 21GetAndSaveCRL 21 4 1 1 22ReadFromFile 22 4 1 1 23WriteToFile 22 4 1 1 24GetStamp 22 4 1 1 25VerifyStamp 23 4 1 1 26GetAlgoFromPA 23 4 1 1 27Base64Encode 24 4 1 1 28Base64Decode 24 4 1 1 29GetParamValue 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 III 48 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 4 48 1 引言引言 1 1编写目的编写目的 该文档主要规范了 PKI 安全中间件的功能接口定义 在整个 PKI 体系中 安全中间件的作用非常关键 它通过调用底层的 WHCSP 及 证书管理器等 封装了一系列 PKI 应用接口 满足上层 PKI 具体应用 的需要 本标准适用于 PKI 上层应用的需求 主要为 CA 系统 适用对象 为所有采用安全中间件的系统开发人员 1 2项目背景项目背景 高级密码服务 顾名思义 是为用户提供相对高级和抽象的密 码服务 而不是像底层的 CSP 和硬件加密算法那样 提供比较低级和 具体的密码服务 一般来说 高级的密码服务应该能够让不懂加密 解密和签名 验签等概念的用户也能够透明的使用 也就是说把密码 学算法的细节给屏蔽掉了 5 48 1 3术语和缩写词术语和缩写词 1 4遵循标准遵循标准 列出参考资料 如 RFC 2459 PKIX PKIX 证书和 CRL 概要 IETF PKIX 证书策略和证书实践框架 IETF RFC 2510 CMP 证书管理协议 RFC 2797 CMC CMS 上的证书管理消息 RFC 2511 CRMF 证书请求消息格式 X 208 抽象语法符号 1 描述 ASN 1 缩写 术缩写 术 语语 解解 释释 PKI公钥基础设施 Public Key Infrastructure CSPCryptographic Service Provider 密码服务提供者 CRL 证书撤消列表 Certificate Revocation List 一个标记一系列不再被证书发布者所信任的证书的签名列表 通称黑名单 LDAP 目录查询协议 Lightweight Directory Access Protocol 本设计指轻型目录访问协议 LDAP 用户可使用 LDAP 协议 通过网络到目录服务器查询系统中的证书或证书撤消列表 OCSP 在线证书状态查询协议 Online Certificate Status Protocol 用户可使用 OCSP 协议 通过网络到 OCSP 服务器实时查 询系统中证书的当前有效 无效状态 6 48 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 规 范编码规则 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 1 多个应用访问标准 7 48 X 509 开放式系统互连 目录 公钥和授权证书框架 ITU T X 500 开放式系统互连 目录 概念 模型和服务概述 CORBA 公共对象请求代理体系结构 v2 4 2 系统概述系统概述 安 全 中 间 件 ACTIVX CORBA 证书管理器 WHCSP 硬件证书接口 硬件密钥接口 CRL 服务 私钥和口令保护 硬件驱动程序 OCSP TSP 在 PKI 体系结构中 见上图 安全中间件总揽了证书管理器和 CSP 的所有功能 它在 PC 端和 PKI 服务器端都是直接面向最终用户 的调用接口 因此 它必须能够屏蔽掉 PC 端和 PKI 服务器端的不同 情况 安全中间件是为用户提供相对高级和抽象的密码服务 而不是像 底层的 CSP 和硬件加密算法那样 提供比较低级和具体的密码服务 一般来说 安全中间件服务应该能够让不懂加密 解密和签名 验签 等概念的用户也能够透明的使用 也就是说把密码学算法的细节给屏 8 48 蔽掉了 2 1功能功能 抽象的算法服务 1 对指定的明文进行加密的功能 包括口令加密 对称密钥 加密和公开密钥加密 2 对指定的密文进行解密的功能 包括对称密钥解密和公开 密钥解密 3 对指定的明文进行签名的功能 4 对指定的签名进行验签的功能 5 封装 PKCS7 数字信封 6 解开 PKCS7 数字信封 7 对明文进行散列 8 产生随机数 抽象的证书服务 1 根据标签得到证书 2 验证证书的有效性 3 生成 PKCS10 格式的证书请求文件 4 输入绑定的证书和私钥 私钥和口令保护服务 1 检查私钥口令 9 48 2 更改私钥口令 3 检查 PIN 4 更改 PIN 编码服务 5 ASE64 的编码功能 6 BASE64 的解码功能 2 2性能性能 精度精度 TSP 响应时间 1s OCSP 响应时间 1s LDAP 服务单元响应速度 0 5s 时间特性时间特性 客户端RSA 签名 2 次 秒 验签 5 次 秒 服务器端RSA 签名 20 次 秒 验签 100 次 秒 灵活性灵活性 可以灵活支持多种硬件介质和硬件加密卡 可以提供 C C Java C 等应用接口 10 48 一套软件结构可以同时为 CA 和应用提供服务 可以支持 33 算法 RC4 算法 DES 3DES 算法 3 运行环境运行环境 3 1硬件系统硬件系统 适用于各种 PC 兼容机 服务器 小型机等等 3 2支撑软件支撑软件 WINDOWS 2000 WindowsXP LINUX RedHat9 0 及 Advanced Server2 1 4 开发说明开发说明 描述系统为二次开发工作提供的接口 约束等 安全中间件分为 客户端和服务端 2 部分 安全中间件客户端主要的功能是在客户端通 过对硬件存储介质的操作完成一些密码运算 服务端主要是通过调用 密码服务器为应用服务提供所需的密码服务 客户端和服务端产的数 据格式都采用国际同意标准 服务端可以运算客户端产生的数据 客 户端也可以运算服务端产生的数据 主要用的功能为客户端进行签名 加密 服务端验签 解密或服务端签名 加密 客户端验签 解密 客 户端与服务端的数据传输可以由应用开发灵活处理 但要保证在传输 前后数据的格式不发生变化 通过安全中间件提供的抽象密码服务 为应用开发提供机密性 完整性 不可抵赖性方面的支持 完成身份认证 电子印章 责任认定 密文传输等应用服务 11 48 4 1 客户端描述客户端描述 客户端主要设备是硬件存储介质 E Key E Key 做为数字证书的 存储设备主要存储用户的签名私钥 加密私钥 签名证书 加密证书 通过调用客户端控件可以使用 E Key 完成签名 加密等密码服务 4 1 1APP 客户端控件接口说明客户端控件接口说明 4 1 1 1AtvInit 功能简介控件初始化 读取客户端证书载体信息及其它初始化工作 调用一些主要功能接口前必须先调用本接口 接口名称int AtvInit 参数说明 入参说明无 出参说明无 返回值成功 则返回 0 失败 则返回错误号 错误号小于 0 4 1 1 2AtvEnd 功能简介进行开发包函数库调用完毕后内部存储区的清除工作 接口名称int AtvEnd 参数说明 入参说明无 出参说明无 返回值成功 则返回 0 失败 则返回错误号 小于 0 4 1 1 3SetHardWare 功能简介设置客户端硬件设备类型 接口名称BOOL SetHardWare long hardwareType 12 48 参数说明 入参说明hardwareType IN 客户端硬件设备类型 目前支持 1 软件摸拟实现 2 加密卡实现 3 SIM 卡实现 4 EKEY 实现 出参说明无 返回值成功 则返回 TRUE 失败 则返回 FALSE 4 1 1 4Login 功能简介登录客户端硬件设备 接口名称BOOL Login int loginType BSTR loginPin 参数说明 入参说明loginType IN 用户登陆类型 此处用户请输入 1 loginPin IN 用户登陆 PIN 码 出参说明无 返回值成功 则返回 TRUE 失败 则返回 FALSE 说明调用本接口时 如果 loginPin 输入为 空 则会弹出输入口令对话框 如 果不为空 则不会弹出 只返回登录是否成功 4 1 1 5ChangeLoginPin 功能简介修改客户端用户登陆 PIN 码 接口名称BOOL ChangeLoginPin BSTR keyLabel BSTR oldPasswd BSTR newPasswd 参数说明 13 48 入参说明keyLabel IN 私钥标签 此处请传入 wellhope oldPasswd IN 旧的用户登陆口令 newPasswd IN 新的用户登陆口令 出参说明无 返回值成功 则返回 TRUE 失败 则返回 FALSE 4 1 1 6Logout 功能简介退出客户端硬件登录 接口名称BOOL Logout 参数说明 入参说明无 出参说明无 返回值成功 则返回 TRUE 失败 则返回 FALSE 4 1 1 7GetCert 功能简介根据证书标签和证书类型读取客户端用户证书 证书标签写在配置文件中 见前面 Client conf 配置文件 接口名称BSTR GetCert int certType 参数说明 入参说明certType IN 证书类型 1 加密证书 2 签名证书 出参说明无 返回值返回编码后的证书信息 4 1 1 8CheckCert 功能简介验证证书的有效性 在验证过程中会连接到 OCSP 服务器上进行证书的验证 14 48 接口名称BOOL CheckCert BSTR i inCert 参数说明 入参说明i inCert IN 待验证的证书 已编码 出参说明无 返回值成功 则返回 TRUE 失败 则返回 FALSE 4 1 1 9GetCertInfo 功能简介解析证书信息 并以 XML 字符串格式返回 接口名称BSTR GetCertInfo BSTR i inCert 参数说明 入参说明i inCert IN 待解析的证书 已编码 出参说明无 15 48 返回值返回采用 XML 标准结构的证书信息 举例 3 00000000000000000000000000000042 SHA1RSA CN Shanghai Zhangjiang Shanghai wellhope E Bussiness Certificate Authority WELLHOPE 自然人 CA 2003 年 08 月 21 日 2004 年 08 月 21 日 CN Shanghai Zhangjiang wellhope infosec user5 30818902818100f34d52b7fb481752a506905e5b8a0698994dc31 04fc8f7d1180912c6087dee594225d4ba1946dfad58598859d3501e59fc9cbd86 b50c79b2ce09630fed4896651b54c37ae98855545c1434f9f4a15e3a15e9b0999 7b03af16c7465f816bfe2b1a49821a0090e283f82ebf2ed7daa2e76a5ada469a14 e78108dde58ac13b826fb0203010001 4 1 1 10 SealEnvelope 功能简介数字信封加密 内部的处理过程是首先随机生成一对称密钥 由入口参数指定其算法或 者通过 PA 确定 然后用此对称密钥加密输入的数据 最后用公钥加密 产生的此对称密钥 这是我们推荐的一种对数据进行加密的方法 因为它 16 48 不仅保证了加密的高效性 对称密钥的快速加密 还保证了加密的高强 度性 公钥的强加密 此函数的加密输出结果遵循 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 策略中 心 获取相应的参数进行后续的工作 17 48 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 格式数据 出参说明无 返回值输出的已编码的签名数据 18 48 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 验证所用的证书 19 48 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 20 48 参数说明 入参说明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 21 48 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 22 48 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 功能简介对输入数据加盖时间戳 23 48 接口名称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表示摘要算法 24 48 今后可以扩充 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 要解码的数据 25 48 出参说明无 返回值返回解码后的原文 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 26 48 参数说明 入参说明无 出参说明无 返回值返回当前状态代码 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 签名证书 27 48 出参说明无 返回值返回编码后的证书信息 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 待解析的证书 已编码 出参说明无 28 48 返回值返回采用 XML 标准结构的证书信息 举例 3 00000000000000000000000000000042 SHA1RSA CN Shanghai Zhangjiang Shanghai wellhope E Bussiness Certificate Authority WELLHOPE 自然人 CA 2003 年 08 月 21 日 2004 年 08 月 21 日 CN Shanghai Zhangjiang wellhope infosec user5 30818902818100f34d52b7fb481752a506905e5b8a0698994dc31 04fc8f7d1180912c6087dee594225d4ba1946dfad58598859d3501e59fc9cbd86 b50c79b2ce09630fed4896651b54c37ae98855545c1434f9f4a15e3a15e9b0999 7b03af16c7465f816bfe2b1a49821a0090e283f82ebf2ed7daa2e76a5ada469a14 e78108dde58ac13b826fb0203010001 4 2 1 8AdvSealEnvelope 功能简介数字信封加密 内部的处理过程是首先随机生成一对称密钥 由入口参数指定其算法或 者通过 PA 确定 然后用此对称密钥加密输入的数据 最后用公钥加密 产生的此对称密钥 这是我们推荐的一种对数据进行加密的方法 因为它 29 48 不仅保证了加密的高效性 对称密钥的快速加密 还保证了加密的高强 度性 公钥的强加密 此函数的加密输出结果遵循 PKCS 7 的编码标准 EnvelopedData 接口名称String AdvSealEnvelope String i encCert int i symmAlgo byte i inData 参数说明 入参说明i encCert IN 用于加密的数字证书 已编过码 i symmAlgo IN 信封中所用对称算法标识 CALG RC4 26625 CALG 3DES 26115 CALG 33 9 viaPA 0 说明加密过程首先将连接到 PA 策 略中心 获取相应的参数进行后续的工作 i inData IN 输入原文信息 出参说明无 返回值输出的已编码的密文结果 4 2 1 9 AdvSealEnvelopeEx 功能简介用多证书批量生成数字信封 此函数的加密输出结果遵循 PKCS 7 的编码标准 EnvelopedData 接口名称String AdvSealEnvelopeEx String i encCert int i certnum int i symmAlgo byte i inData 参数说明 入参说明i encCert IN 用于加密的数字证书 已编过码 多个证书间以 隔开 i certnum IN 生成信封的证书数目 i symmAlgo IN 信封中所用对称算法标识 CALG RC4 26625 CALG 3DES 26115 CALG 33 9 viaPA 0 说明加密过程首先将连接到 PA 策略中 心 获取相应的参数进行后续的工作 30 48 i inData IN 输入原文信息 出参说明无 返回值输出的已编码的密文结果 4 2 1 10 AdvOpenEnvelope 功能简介对数字信封进行解密工作 即拆封工作 私钥标签在配置文件中定义 接口名称byte AdvOpenEnvelope String keyPasswd String i inData 参数说明 入参说明keyPasswd IN 解密私钥的保护口令 i inData IN 输入已编码的信封数据 出参说明无 返回值输出原文信息 4 2 1 11 AdvSignData 功能简介对输入数据进行数字签名 私钥标签在配置文件中定义 接口名称String AdvSignData String keyPasswd byte i inData int i algoType int i signType 参数说明 入参说明keyPasswd IN 签名私钥的保护口令 i inData IN 输入的待签名数据 i algoType IN 签名算法 取值如 32772 sha1RSA 32771 md5RSA sha1RSA md5RSA 说明签名采用的是何种摘要算法 签名算法 i signType IN 签名值类型 取值 0 不包含原文的纯签名 1 包含原文的符合 PKCS7 格式的数据 出参说明无 31 48 返回值输出的已编码的签名数据 4 2 1 12 AdvSignDataEx 功能简介对输入数据进行数字签名 私钥标签在配置文件中定义 接口名称String AdvSignDataEx String i sigCert String keyPasswd byte i inData int i algoType int i signType 参数说明 入参说明i sigCert IN 通信对方的证书 当需要通过 PA 获取签名算法时需输入 keyPasswd IN 私钥保护口令 i inData IN 输入的待签名数据 二进制数据需要做编码处理 i algoType IN 签名算法 取值如 32772 sha1RSA 32771 md5RSA 0 viaPA 等 sha1RSA md5RSA 说明签名采用的是何种摘要算法 签名算法 viaPA 0 说明签名过程首先将连接到 PA 策略中心 获取相应的参数进 行后续的工作 i signType IN 签名值类型 取值 0 不包含原文的纯签名 1 包含原文的符合 PKCS7 格式的数据 出参说明无 返回值输出的已编码的签名数据 4 2 1 13 AdvVerifySign 功能简介对输入数据进行数字签名的验证 接口名称boolean AdvVerifySign String i checkCert byte i clearText String i signature int i algoType 32 48 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 2 1 14 AdvGenRandom 功能简介生成一定长度的随机数 对称密钥 接口名称String AdvGenRandom int len 参数说明 入参说明len IN 指定的长度 字节数 出参说明无 返回值输出已编码的随机数 对称密钥 33 48 4 2 1 15 AdvHashData 功能简介对输入数据进行哈希运算 接口名称String AdvHashData int hashAlgo byte inData 参数说明 入参说明hashAlgo IN 哈希算法标识 ALGO SHA1 32772 ALGO MD5 32771 inData IN 输入数据信息 出参说明无 返回值返回编码后的哈希值 4 2 1 16 AdvSymmEncrypt 功能简介用指定产生的对称密钥 KEY 来加密数据 接口名称String AdvSymmEncrypt int i symmAlgo String i symmkey byte i indata 参数说明 入参说明i symmAlgo IN 对称算法标识 例如 CALG RC4 26625 CALG 3DES 26115 CALG 33 9 i symmKey IN 对称密钥 已编码 i inData IN 输入的原文 出参说明无 返回值输出已编码后的密文 4 2 1 17 AdvSymmDecrypt 功能简介用指定产生的对称密钥 KEY 来解密密文数据 接口名称byte AdvSymmDecrypt int i symmAlgo String i symmkey byte i indata 34 48 参数说明 入参说明i symmAlgo IN 对称算法标识 例如 CALG RC4 26625 CALG 3DES 26115 CALG 33 9 i symmKey IN 对称密钥 已编码 i inData IN 输入的密文 已编码 出参说明无 返回值输出解密后的原文 4 2 1 18 AdvGetCertFromLDAP 功能简介从 LDAP 服务器查询和获取用户证书 接口名称String AdvGetCertFromLDAP int i searchType int i certType String 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 字符串 出参说明无 返回值输出已编码后的证书信息 35 48 4 2 1 19 AdvGetCRLFromLDAP 功能简介从 LDAP 服务器获取 CRL 列表信息 接口名称String AdvGetCRLFromLDAP 参数说明 入参说明无 出参说明无 返回值输出已编码后的 CRL 列表信息 4 2 1 20 AdvUploadCRL 功能简介上传 CRL 列表信息 接口名称boolean AdvUploadCRL String i inCRL 参数说明 入参说明i inCRL IN 输入的 CRL 列表信息 已编码 出参说明无 返回值成功 true 失败 false 4 2 1 21 AdvReadFromFile 功能简介从本地读取文件内容 接口名称String AdvReadFromFile String inFile 参数说明 入参说明inFile IN 读取文件的路径 出参说明无 返回值输出已编码过的文件数据信息 4 2 1 22 AdvWriteToFile 功能简介将数据写入到本地文件 接口名称boolean AdvWriteToFile String filePath String writeData 36 48 参数说明 入参说明filePath IN 要保存的文件路径 writeData IN 要写入文件的数据 已编码 出参说明无 返回值成功 true 失败 false 4 2 1 23 AdvG
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 跨领域项目合作协议
- 工业设计产品设计理念与案例分析
- 航空航天材料工程考试试题集
- 现代管理学基础理论学习题集
- 运动训练理论与实践题
- 2025年工程成本预测试题及答案
- 2024年天然植物纤维及人造纤维编织工艺品项目投资申请报告代可行性研究报告
- 犯罪分析测试题及答案
- 跨部门协作的成功要素计划
- 多元化工作方法的探索计划
- 2025年边境检查面试试题及答案
- 《煤矿重大危险源简》课件 - 深入了解煤矿生产中的安全隐患与防控策略
- 《清洁剂的清洁原理》课件
- 志愿情绪压力管理
- 《药包材等同性-可替代性评价指南(征求意见稿)》
- 医院血透室6S管理汇报
- 《小红帽》绘本故事-课件
- 感性工学完整版本
- 【MOOC】消费者行为学-湖南大学 中国大学慕课MOOC答案
- 安全管理-终结性考试-国开(SC)-参考资料
- 大脑健康课件
评论
0/150
提交评论