2卫生系统数字证书应用集成规范_第1页
2卫生系统数字证书应用集成规范_第2页
2卫生系统数字证书应用集成规范_第3页
2卫生系统数字证书应用集成规范_第4页
2卫生系统数字证书应用集成规范_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

I卫生系统电子认证服务体系系列规范卫生系统数字证书应用集成规范(试行)卫生部办公厅2010年4月30日II目录1范围12应用集成目标13应用集成要求14应用集成内容15统一证书应用接口规范251统一证书应用接口概述252证书应用综合服务接口概述253证书应用综合服务接口客户端接口函数定义454证书应用综合服务接口服务器端COM组件函数定义955证书应用综合服务接口服务器端JAVA组件函数定义1756证书应用综合服务接口相关代码表26附录A资料性附录证书应用接口实施示例32附录B资料性附录名词解释3511范围本规范依据卫生系统电子认证服务管理办法(试行),参照国家密码管理局“公钥密码基础设施应用技术体系”系列技术规范,结合卫生系统业务特点,提出卫生系统数字证书应用集成目标、集成要求、集成内容,定义统一的证书应用接口,并提供证书应用接口的典型部署示例、登录认证流程示例和签名验证流程示例。本规范用于指导并规范卫生信息系统证书应用集成实施工作,指导电子认证服务机构开发标准统一的证书应用接口,规范卫生信息系统实现基于数字证书的安全登录、数字签名和加密解密等安全功能。2应用集成目标1在目前卫生信息系统普遍使用的用户名/口令认证方式基础上,引入数字证书技术,建立基于数字证书的身份认证机制,确保系统访问控制的高安全性和高可靠性;2对卫生信息系统的重要操作环节和重要数据实现基于数字证书的数字签名功能,保护数据的完整性,并为后期纠纷处理及责任认定提供合法电子证据;3对卫生信息系统的敏感信息实现基于数字证书的数据加密功能,确保敏感信息在传输和存储阶段的安全性。3应用集成要求在证书应用集成时,应根据卫生系统各应用单位的业务特点和业务需求,确定需要改造的业务系统数量及名称、确定需要使用证书认证的用户及范围、确定需要加密签名的重要操作环节和数据,具体集成要求如下1卫生信息系统在集成数字证书的安全功能时,首先应实现基于数字证书的身份认证功能;2对于具有操作行为责任认定、证据保存需求的卫生信息系统,应实现基于数字证书的数字签名的功能;3对于具有数据加密和解密需求的卫生信息系统,应实现基于数字证书的信息加密、信息解密功能;4对于具有可信时间需求的卫生信息系统,应集成时间戳功能;5对于具有信息共享需求的多个应用系统,可采用统一的身份认证模式,实现统一的身份认证管理、用户信息共享和单点登录等功能。4应用集成内容卫生信息系统证书应用集成内容如下1基于数字证书的身份认证证书登录认证过程中,应完成以下安全认证工作A证书保护口令校验;B每次登录认证是基于随机数的签名和验证,防止重放攻击;C验证用户证书的信任链;D验证用户证书有效期;E基于最新的黑名单文件,验证用户证书是否被吊销;F验证证书信息是否在信息系统具有对应的用户账户及操作权限。在证书应用集成时,同时应实现用户安装和使用的方便性,如证书介质的即插即用功能。2数字签名和验证2卫生信息系统中关键业务数据和操作的数字签名,应满足电子签名法以及其他相关政策法规规定的书面形式、原件形式及文件保存等要求,至少应包括数据原文、电子签名、可信时间等内容,并可在需要时查询、阅读、下载、验证,具备作为电子证据的真实性、可靠性和可验证性。数字签名可以和图章结合起来应用,实现电子签章功能,从而实现电子签名的可视化管理,方便用户查看、审阅和验证。3数据加密和解密数据加密时应采用对称算法和非对称算法相结合的方式,既保障加密机制的安全性、密钥分发的方便性,同时又提高了加解密操作的效率。根据业务需求,可使用单个数字证书加密,也可使用多个数字证书对数据共同加密,形成密文数据。密文数据应安全存储在数据库或磁盘上,待解密时间达到后方可解密。数据解密时,须使用数字证书对应的密码设备或证书介质解密。如果证书介质损坏或丢失,电子认证服务机构应在安全可控的前提下,为用户及时提供密钥恢复服务。4时间戳应用电子认证服务机构提供的时间戳服务应基于可靠的标准时间源,确保时间的准确和可信。5密码设备应用卫生信息系统在使用数字证书安全功能时,应基于密码设备提供的密码服务。密码设备包括客户端用户使用的证书介质和服务器端使用的密码设备。客户端证书介质是指具有密码许可资质的USBKEY、智能IC卡等PC终端上的密码设备,以及符合国家密码政策管理规定的SIM卡、SD卡等手机终端上的密码设备。证书介质应用接口应支持所有主流操作系统,并符合智能IC卡及智能密码钥匙密码应用接口规范。服务器端密码设备是指具有密码许可资质的加密机、加密卡等,应支持所有主流操作系统,并符合公钥密码基础设施应用技术体系密码设备应用接口规范。通用密码服务接口调用证书介质应用接口或密码设备应用接口,实现对底层密码设备和证书介质的调用,应支持所有主流操作系统,并符合公钥密码基础设施应用技术体系通用密码服务接口规范。5统一证书应用接口规范51统一证书应用接口概述统一证书应用接口位于应用系统和密码设备之间,包括证书介质应用接口、密码设备应用接口、通用密码服务接口和证书应用综合服务接口。52证书应用综合服务接口概述证书应用综合服务接口是供应用系统直接调用的高级证书应用接口,一般情况下分成客户端接口和服务器端接口两个模块。客户端接口是供应用系统客户端程序直接调用的高级接口,应支持所有主流操作系统。客户端接口应支持符合卫生系统数字证书格式规范的数字证书,支持使用符合卫生系统数字证书介质技术规范的证书介质。客户端接口可包括DLL动态库、ACTIVEX控件、APPLET插件等多种产品形态,支持B/S和C/S等架构的应用系统。客户端接口包括以下主要函数1获取接口的版本信息SOF_GETVERSION2设置签名算法SOF_SETSIGNMETHOD3获得当前签名算法SOF_GETSIGNMETHOD4设置加密算法SOF_SETENCRYPTMETHOD5获得加密算法SOF_GETENCRYPTMETHOD6获得证书列表SOF_GETUSERLIST37导出用户签名证书SOF_EXPORTUSERCERT8校验证书口令SOF_LOGIN9修改证书口令SOF_CHANGEPASSWD10导出用户加密证书SOF_EXPORTEXCHANGEUSERCERT11获得证书信息SOF_GETCERTINFO12获得证书扩展信息SOF_GETCERTINFOBYOID13获得用户信息SOF_GETUSERINFO14验证证书有效性SOF_VALIDATECERT15数据签名SOF_SIGNDATA16验证签名SOF_VERIFYSIGNEDDATA17文件签名SOF_SIGNFILE18验证文件签名SOF_VERIFYSIGNEDFILE19加密数据SOF_ENCRYPTDATA20解密数据SOF_DECRYPTDATA21文件加密SOF_ENCRYPTFILE22文件解密SOF_DECRYPTFILE23公钥加密SOF_PUBKEYENCRYPT24私钥解密SOF_PRIKEYDECRYPT25PKCS7数据签名SOF_SIGNDATABYP726验证PKCS7数据签名SOF_VERIFYSIGNEDDATABYP727解析PKCS7签名包信息SOF_GETP7SIGNDATAINFO28XML数据签名SOF_SIGNDATAXML29验证XML数据签名SOF_VERIFYSIGNEDDATAXML30解析XML签名数据SOF_GETXMLSIGNATUREINFO31检查控件支持SOF_CHECKSUPPORT32产生随机数SOF_GENRANDOM服务器端接口是供应用系统服务器端程序直接调用的高级接口,应支持所有主流操作系统,支持B/S和C/S等系统架构,支持符合卫生系统数字证书格式规范的数字证书,可通过添加证书信任列表的方式实现不同电子认证服务机构证书之间的交叉认证和互信互认。服务器端接口可包括COM组件、JAVA组件等多种形态。服务器端接口应提供以下函数1初始化环境SOF_GETINSTANCE(JAVA组件专用)2设置证书信任列表SOF_SETCERTTRUSTLIST3查询证书信任列表别名SOF_QUERYCERTTRUSTLISTALTNAMES4查询证书信任列表SOF_QUERYCERTTRUSTLIST5删除证书信任列表SOF_DELCERTTRUSTLIST6设置WEB应用名称SOF_SETWEBAPPNAME(COM组件专用)7设置签名算法SOF_SETSIGNMETHOD8获得当前签名算法SOF_GETSIGNMETHOD9设置加密算法SOF_SETENCRYPTMETHOD10获得加密算法SOF_GETENCRYPTMETHOD11获得服务器证书SOF_GETSERVERCERTIFICATE12产生随机数SOF_GENRANDOM13获得证书信息SOF_GETCERTINFO14获得证书扩展信息SOF_GETCERTINFOBYOID415验证证书有效性SOF_VALIDATECERT16数据签名SOF_SIGNDATA17验证签名SOF_VERIFYSIGNEDDATA18文件签名SOF_SIGNFILE19验证文件签名SOF_VERIFYSIGNEDFILE20对称算法加密数据SOF_ENCRYPTDATA21解密对称算法加密数据SOF_DECRYPTDATA22文件加密SOF_ENCRYPTFILE23文件解密SOF_DECRYPTFILE24公钥加密SOF_PUBKEYENCRYPT25私钥解密SOF_PRIKEYDECRYPT26PKCS7数据签名SOF_SIGNDATABYPKCS727验证PKCS7数据签名SOF_VERIFYSIGNEDDATABYPKCS728解析PKCS7签名包信息SOF_GETP7SIGNDATAINFO29XML数据签名SOF_SIGNDATAXML30验证XML数据签名SOF_VERIFYSIGNEDDATAXML31解析XML签名数据SOF_GETXMLSIGNATUREINFO32创建时间戳请求SOF_CREATETIMESTAMPREQUEST33创建时间戳响应SOF_CREATETIMESTAMPRESPONSE34验证时间戳SOF_VERIFYTIMESTAMP35解析时间戳SOF_GETTIMESTAMPINFO36获得错误码SOF_GETLASTERROR(COM组件专用)53证书应用综合服务接口客户端接口函数定义1获取接口版本信息SOF_GETVERSION原型INTSAF_GETVERSIONUNSIGNEDINTPUIVERSION描述获取接口的版本号参数PUIVERSIONOUT版本号0成功返回值非0失败,返回错误代码备注版本号的格式为0XAAAABBBB,其中AAAA为主版本号,BBBB为次版本号。2设置签名算法SOF_SETSIGNMETHOD原型VOIDSOF_SETSIGNMETHODINTSIGNMETHOD描述设置控件签名使用的签名算法。参数SIGNMETHODIN签名算法标识,见表5“算法代码表”。返回值无3获得当前签名算法SOF_GETSIGNMETHOD原型BSTRSOF_GETSIGNMETHOD描述获得控件签名使用的签名算法参数无返回值当前的签名算法4设置加密算法SOF_SETENCRYPTMETHOD原型VOIDSOF_SETENCRYPTMETHODINTENCRYPTMETHOD描述设置控件使用的对称加解密算法。参数SETENCRYPTMETHODIN对称加解密算法见表5“算法代码表”。5返回值无5获得加密算法SOF_GETENCRYPTMETHOD原型BSTRSOF_GETENCRYPTMETHOD描述获得控件使用的对称加解密算法参数无返回值当前控件使用的加密算法6获得证书列表SOF_GETUSERLIST原型BSTRSOF_GETUSERLIST描述取得当前已安装证书的用户列表参数无返回值BSTRRET用户列表字符串数据格式用户1|标识1描述根据证书实体唯一标识,获取BASE64编码的证书字符串。参数BSTRCERTIDIN输入参数,证书实体唯一标识BSTRRV证书字符串返回值空失败空值备注如果是双证书,导出的是签名证书。8校验证书口令SOF_LOGIN原型BOOLSOF_LOGINBSTRCERTID,BSTRPASSWD,SHORTNRETRYCOUNT描述校验证书口令参数BSTRCERTIDIN输入参数,证书实体唯一标识BSTRPASSWDINSHORTRETRYCOUNTOUT输入参数,口令剩余口令重试次数返回值成功TRUE,失败FALSE9修改证书口令SOF_CHANGEPASSWD原型BOOLSOF_CHANGEPASSWDBSTRCERTID,BSTROLDPASSWD,BSTRNEWPASSWD描述修改证书口令参数BSTRCERTIDIN输入参数,证书实体唯一标识BSTROLDPASSWDIN输入参数,旧口令BSTRNEWPASSWDIN输入参数,新口令返回值成功TRUE,失败FALSE10导出用户加密证书SOF_EXPORTEXCHANGEUSERCERT原型BSTRSOF_EXPORTEXCHANGEUSERCERTBSTRCERTID描述根据证书实体唯一标识,获取BASE64编码的证书字符串。指定获取加密(交换)证书参数BSTRCERTIDIN证书实体唯一标识BSTRRV获取BASE64编码的证书字符串返回值空值失败11获得证书信息SOF_GETCERTINFO原型BSTRSOF_GETCERTINFOBSTRCERT,SHORTTYPE描述获取证书信息6BSTRSCERTINBASE64编码的证书参数SHORTTYPEIN获取信息的类型,TYPE参数见表3“证书信息解析代码表”。BSTRRET证书信息返回值空值失败12获得证书扩展信息SOF_GETCERTINFOBYOID原型BSTRSOF_GETCERTINFOBYOIDBSTRCERT,BSTROID描述根据OID获取证书私有扩展项信息BSTRSCERTINBASE64编码的证书参数BSTROIDIN私有扩展对象ID,比如“12156XXX”返回值BSTRRET证书OID对应的值空值失败13获得用户信息SOF_GETUSERINFO原型BSTRSOF_GETUSERINFOBSTRCERTID,SHORTTYPE描述获得用户信息BSTRCERTIDIN证书标识参数TYPEIN信息类别,参数和意义见表4“证书对应信息表”。返回值BSTRRETTYPE对应的值空值失败14验证证书有效性SOF_VALIDATECERT原型BOOLSOF_VALIDATECERTBSTRCERT描述验证证书有效性参数BSTRSCERTINBASE64编码的证书TRUE成功FALSE失败返回值空值失败15数据签名SOF_SIGNDATA原型BSTRSOF_SIGNDATABSTRCERTID,BSTRINDATA,SHORTINDATALEN描述对字符串数据进行数字签名,签名格式为PKCS1BSTRSCERTIDIN证书标识参数BSTRSINDATAINSHORTINDATALENIN签名原文签名原文长度BSTRRET签名结果返回值空值失败16验证签名SOF_VERIFYSIGNEDDATA原型BOOLSOF_VERIFYSIGNEDDATABSTRCERT,BSTRINDATA,SHORTINDATALEN,BSTRSIGNVALUE描述验证数字签名参数BSTRSCERTIN签名者证书,BASE64编码BSTRSINDATAIN签名原文SHORTINDATALENIN签名原文长度BSTRSSIGNVALUEIN签名值,BASE64编码返回值TRUE成功7FALSE失败17文件签名SOF_SIGNFILE原型BSTRSOF_SIGNFILEBSTRCERTID,BSTRINFILE描述对文件数字签名BSTRSCERTIDIN证书标识参数BSTRSINFILEIN签名原文文件路径返回值BSTRRET签名结果空值失败18验证文件签名SOF_VERIFYSIGNEDFILE原型BOOLSOF_VERIFYSIGNEDFILEBSTRCERT,BSTRINFILE,BSTRSIGNVALUE描述验证文件数字签名BSTRSCERTIN签名者证书BSTRSINFILEIN签名原文文件路径参数BSTRSSIGNVALUEIN签名值TRUE成功返回值FALSE失败19加密数据SOF_ENCRYPTDATA原型BSTRSOF_ENCRYPTDATABSTRSYMMKEY,BSTRINDATA描述使用对称算法加密数据BSTRSKEYIN加密密钥参数BSTRSINDATAIN待加密的明文BSTRRV加密后的密文返回值空值失败20解密数据SOF_DECRYPTDATA原型BSTRSOF_DECRYPTDATABSTRSYMMKEY,BSTRINDATA描述使用对称算法解密数据BSTRSYMMKEYIN解密密钥参数BSTRSINDATAIN待解密的密文BSTRRV解密后的明文返回值空值失败21文件加密SOF_ENCRYPTFILE原型BOOLSOF_ENCRYPTFILEBSTRSYMMKEY,BSTRINFILE,BSTROUTFILE描述使用对称算法加密文件BSTRSYMMKEYIN加密密钥BSTRINFILEIN待加密的明文文件路径参数BSTROUTFILEIN密文文件保存路径TRUE成功返回值FALSE失败22文件解密SOF_DECRYPTFILE原型BOOLSOF_DECRYPTFILEBSTRSYMMKEY,BSTRINFILE,BSTROUTFILE描述使用对称算法解密文件BSTRSYMMKEYIN解密密钥BSTRINFILEIN待解密的密文文件路径参数BSTROUTFILEIN明文文件保存路径8TRUE成功返回值FALSE失败23公钥加密SOF_PUBKEYENCRYPT原型BSTRSOF_PUBKEYENCRYPTBSTRCERT,BSTRINDATA描述使用证书对数据加密。(PKCS1格式)BSTRCERTIN证书参数BSTRINDATAIN待加密的数据BSTRRV成功加密后的密文返回值空值失败备注因为是PKCS1格式,故加密的数据长度要小于证书的位数。比如1024位的证书,INDATA长度必须小于12824私钥解密SOF_PRIKEYDECRYPT原型BSTRSOF_PRIKEYDECRYPTBSTRCERTID,BSTRINDATA描述私钥解密(PKCS1格式)BSTRCERTIDIN证书ID参数BSTRINDATAIN待解密的数据BSTRRV成功解密后的明文返回值空值失败25PKCS7数据签名SOF_SIGNDATABYP7原型BSTRSOF_SIGNDATABYP7BSTRCERTID,BSTRINDATA描述对字符串数据进行数字签名,签名格式为PKCS7参数BSTRSCERTIDIN证书标识BSTRSINDATAIN签名原文BSTRRET签名结果返回值空值失败备注PKCS7签名结果包含原文签名者证书签名值。26验证PKCS7数据签名SOF_VERIFYSIGNEDDATABYP7原型BOOLSOF_VERIFYSIGNEDDATABYP7BSTRP7DATA描述验证数字签名参数BSTRP7DATAINPKCS7签名包TRUE成功返回值FALSE失败27解析PKCS7签名包信息SOF_GETP7SIGNDATAINFO原型BSTRSOF_GETP7SIGNDATAINFOBSTRP7DATA,SHORTTYPE描述解析PKCS7签名包的信息,可获得原文、签名值、签名证书等信息BSTRP7DATAINPKCS7签名包参数SHORTTYPEIN类型TRUE成功返回值FALSE失败备注类型1原文;2签名者证书;3签名值28XML数据签名SOF_SIGNDATAXML原型BSTRSOF_SIGNDATAXMLBSTRCERTID,BSTRINDATA描述对XML数据进行数字签名,输出符合国际标准的XML签名结果参数BSTRSCERTIDIN证书标识9BSTRINDATAIN签名原文,XML格式BSTRRET签名结果返回值空值失败备注XML签名标准见HTTP/WWWW3ORG/TR/XMLDSIGCORE/29验证XML数据签名SOF_VERIFYSIGNEDDATAXML原型BOOLSOF_VERIFYSIGNEDDATAXMLBSTRINDATA描述验证XML签名参数BSTRINDATAINXML签名值TRUE成功返回值FALSE失败备注XML签名标准见HTTP/WWWW3ORG/TR/XMLDSIGCORE/30解析XML签名数据SOF_GETXMLSIGNATUREINFO原型BSTRSOF_GETXMLSIGNATUREINFOBSTRXMLSIGNEDDATA,SHORTTYPE描述解析XML签名数据,获取签名值、XML原文、证书等信息BSTRXMLSIGNEDDATAINXML格式的签名数据参数TYPEIN待解析的参数类型返回值各项对应的信息备注TYPE可选的参数和意义1XML原文;2摘要;3签名值;4签名证书;5摘要算法;6签名算法。31检查控件支持SOF_CHECKSUPPORT原型SHORTSOF_CHECKSUPPORT描述检查控件是否支持当前操作系统和浏览器版本参数无返回值INTRV0表示支持,1表示不支持。32产生随机数SOF_GENRANDOM原型BSTRSOF_GENRANDOMSHORTLEN描述产生随机数参数INTRANDDOMLENIN待产生的随机数长度(BYTES,字节长度)返回值BSTRRV随机数值(BASE64编码后的)54证书应用综合服务接口服务器端COM组件函数定义1设置证书信任列表SOF_SETCERTTRUSTLIST原型SHORTSOF_SETCERTTRUSTLISTBSTRCTLALTNAME,BSTRCTLCONTENT,INTCTLCONTENTLEN描述设置证书信任列表CTLALTNAMEIN证书信任列表别名CTLCONTENTIN证书信任列表内容BASE64编码格式参数CTLCONTENTLENIN证书信任列表长度0成功返回值其他失败,详见错误码列表备注错误代码SOR_PARAMERR参数错误2查询证书信任列表别名SOF_QUERYCERTTRUSTLISTALTNAMES原型BSTRSOF_QUERYCERTTRUSTLISTALTNAMES描述查询证书信任列表别名参数无10非空成功,信任列表别名的字符串组合,如“CA001CA002CA003”返回值其他失败,详见错误码列表备注错误代码SOR_CTLNOTFOUND没有信任列表3查询证书信任列表SOF_QUERYCERTTRUSTLIST原型BSTRSOF_QUERYCERTTRUSTLISTBSTRCTLALTNAME描述根据别名查询证书信任列表参数BSTRCTLALTNAMEIN证书信任列表别名非空成功,BASE64编码格式的证书信任列表;返回值其他失败,详见错误码列表备注SOR_CTLNOTFOUND没有信任列表SOR_PARAMERR参数错误。4删除证书信任列表SOF_DELCERTTRUSTLIST原型SHORTSOF_DELCERTTRUSTLISTBSTRCTLALTNAME描述根据别名删除证书信任列表参数CTLALTNAMEIN证书信任列表别名返回值0成功其他失败,详见错误码列表备注SOR_NULLPOINTER参数为空指针SOR_CTLNOTFOUND没有对应的信任列表5设置WEB应用名称SOF_SETWEBAPPNAME原型SHORTSOF_SETWEBAPPNAMEBSTRWEBAPPNAME描述设置WEB应用的名称。该名称要和服务器XML文件对应。接口从XML文件中读取WEBAPP的属性包括使用的证书、可信的根证书、证书验证的策略等参数WEBAPPNAMEIN应用的名称0成功返回值其他失败,详见错误码列表备注SOR_NULLPOINTER参数为空指针。SOR_APPNOTFOUND应用没发现6设置签名算法SOF_SETSIGNMETHOD原型SHORTSOF_SETSIGNMETHODBSTRSIGNMETHOD描述设置COM组件签名运算使用的签名算法。缺省为“RSASHA1”。参数SIGNMETHODIN签名算法0成功返回值其他失败详见附录错误码定义备注SOR_NULLPOINTER参数为空指针。SOR_PARAMETERNOTSUPPORT不支持的参数7获得当前签名算法SOF_GETSIGNMETHOD原型BSTRSOF_SIGNMETHODGETSIGNMETHOD描述获得组件签名运算使用的签名算法参数无返回值当前的签名算法8设置加密算法SOF_SETENCRYPTMETHOD原型SHORTSOF_SETENCRYPTMETHODBSTRENCRYPTMETHOD11描述设置组件对数据加解密使用的对称算法参数ENCRYPTMETHODIN对称加解密算法见表5“算法代码表”。返回值0成功备注错误代码SOR_NULLPOINTER参数为空指针。SOR_PARAMETERNOTSUPPORT不支持的参数9获得加密算法SOF_GETENCRYPTMETHOD原型BSTRSOF_GETENCRYPTMETHOD描述获得组件使用的对称加解密算法参数无返回值当前控件使用的加密算法10获得服务器证书SOF_GETSERVERCERTIFICATE原型BSTRSOF_GETSERVERCERTIFICATEINTCERTUSAGE描述读取当前应用指定的服务器证书参数INTCERTUSAGE证书用途证书用途法1交换证书、2签名证书返回值BASE64编码的服务器证书成功NULL失败备注错误代码SOR_PARAMETERNOTSUPPORT不支持的参数11产生随机数SOF_GENRANDOM原型BSTRSOF_GENRANDOMINTLEN描述产生指定长度的随机数参数INTLENIN待产生的随机数长度(BYTES,字节长度)返回值随机数值BASE64编码后的备注BYTES,字节长度12获得证书信息SOF_GETCERTINFO原型BSTRSOF_GETCERTINFOBSTRBASE64ENCODECERT,INTTYPE描述获取证书信息BSTRBASE64ENCODECERTBASE64编码的X509数字证书参数INTTYPE获取证书信息的类型,见表3“证书信息解析代码表”。BSTRRET证书信息返回值空值失败备注错误代码SOR_NULLPOINTER某一个参数为空指针。SOR_CERTENCODE证书编码格式错误SOR_PARAMETERNOTSUPPORT不支持的参数13获得证书扩展信息SOF_GETCERTINFOBYOID原型BSTRSOF_GETCERTINFOBYOIDBSTRBASE64ENCODECERT,BSTROID描述根据OID获取证书私有扩展项信息BSTRBASE64ENCODECERTBASE64编码的证书参数BSTROID私有扩展对象ID,如“12156XXX”返回值BSTRRET证书OID对应的值空值出错备注错误代码12SOR_NULLPOINTER某一个参数为空指针。SOR_CERTENCODE证书编码格式错误。14验证证书有效性SOF_VALIDATECERT原型SHORTSOF_VALIDATECERTBSTRBASE64ENCODECERT描述根据应用的策略根据验证证书有效性参数BASE64ENCODECERTIN待验证的BASE64编码证书0验证成功返回值其他验证失败,见错误代码备注错误代码SOR_NULLPOINTERBASE64ENCODECERT为NULL。SOR_CERTENCODE证书编码格式错误。SOR_CERTINVALID证书无效,不是可信CA颁发的证书。SOR_CERTNOTYETVALID证书未生效。SOR_CERTHASEXPIRED证书已过期。SOR_CERTREVOKED证书已经被吊销15数据签名SOF_SIGNDATA原型BSTRSOF_SIGNDATABSTRINDATA,INTINDATALEN描述对字符串数据进行数字签名,签名格式为PKCS1参数INDATAIN待签名的数据原文INDATALENIN待签名的数据原文长度返回值返回PKCS1格式的签名值的BASE64编码成功备注错误代码SOR_NULLPOINTERINDATA为NULL。SOR_SIGNDATA签名失败。16验证签名SOF_VERIFYSIGNEDDATA原型SHORTSOF_VERIFYSIGNEDDATABSTRBASE64ENCODECERT,BSTRINDATA,INTINDATALEN,BSTRSIGNVALUE描述验证数字签名BASE64ENCODECERTINBASE64编码的签名证书INDATAIN待验证的原文INDATALENIN待验证的原文长度参数SIGNVALUEIN签名值0验证成功返回值其他验证失败备注错误代码SOR_NULLPOINTER其中一个输入参数为NULL。SOR_CERTENCODE证书编码错误。SOR_VERIFYSIGNDATA验证签名失败17文件签名SOF_SIGNFILE原型BSTRSOF_SIGNFILEBSTRINFILE描述对文件数字签名。得到BASE64编码后的PKCS1格式的签名数据。参数INFILEIN待签名的文件路径返回值BASE64编码后的PKCS1格式的13签名数据备注错误代码SOR_NULLPOINTERINFILE为NULL。SOR_READFILE读文件异常,可能文件不存在或没有读取权限等。18验证文件签名SOF_VERIFYSIGNEDFILE原型SHORTSOF_VERIFYSIGNEDFILEBSTRBASE64ENCODECERT,BSTRINFILE,BSTRSIGNVALUE描述验证文件数字签名BASE64ENCODECERTINBASE64编码的签名证书INFILEIN待验证的原文参数SIGNVALUEIN签名值0验证成功返回值其他验证失败,见错误代码备注错误代码SOR_NULLPOINTER其中一个输入参数为NULL。SOR_READFILE读文件异常,可能文件不存在或没有读取权限等。SOR_CERTENCODE证书编码错误。SOR_VERIFYSIGNDATA验证签名失败。19对称算法加密数据SOF_ENCRYPTDATA原型BSTRSOF_ENCRYPTDATABSTRKEY,BSTRINDATA描述使用对称算法加密数据BSTRKEYIN加密密钥参数BSTRINDATAIN待加密的明文成功加密后的密文BASE64编码后的返回值空值失败备注SOR_NULLPOINTER其中一个输入参数为NULL。SOR_ENCRYPTDATA数据加密失败。20解密数据SOF_DECRYPTDATA原型BSTRSOF_DECRYPTDATABSTRKEY,BSTRINDATA描述使用对称算法解密数据BSTRKEYIN解密密钥参数BSTRINDATAIN待解密的密文解密后的明文成功返回值空值失败备注错误代码SOR_NULLPOINTER其中一个输入参数为NULL。SOR_DECRYPTDATA数据解密失败。21文件加密SOF_ENCRYPTFILE原型SHORTSOF_ENCRYPTFILEBSTRKEY,BSTRINFILE,BSTROUTFILE描述使用对称算法加密文件BSTRKEYIN加密密钥BSTRINFILEIN待加密的明文文件路径参数BSTROUTFILEIN密文文件保存路径返回值0成功14其他见错误码备注SOR_NULLPOINTER其中一个输入参数为NULL。SOR_READFILE读文件异常,可能文件不存在或没有读取权限等。SOR_WRITEFILE写文件异常,可能文件不存在或没有写权限等SOR_ENCRYPTDATA数据加密失败22文件解密SOF_DECRYPTFILE原型SHORTSOF_DECRYPTFILEBSTRKEY,BSTRINFILE,BSTROUTFILE描述使用对称算法解密文件BSTRKEYIN解密密钥BSTRINFILEIN待解密的密文文件路径参数BSTROUTFILEIN明文文件保存路径0成功返回值其他见错误代码表备注错误代码SOR_NULLPOINTER其中一个输入参数为NULL。SOR_READFILE读文件异常,可能文件不存在或没有读取权限等。SOR_WRITEFILE写文件异常,可能文件不存在或没有写权限等。SOR_DECRYPTDATA数据解密失败23公钥加密SOF_PUBKEYENCRYPT原型BSTRSOF_PUBKEYENCRYPTBSTRBASE64ENCODECERT,BSTRINDATA描述使用证书对数据加密。(PKCS1格式)BSTRBASE64ENCODECERTIN证书参数BSTRINDATAIN待加密的数据返回加密后的密文BASE64编码后的数据返回值空失败备注错误代码SOR_NULLPOINTER其中一个输入参数为NULL。SOR_CERTENCODE证书编码格式错误。SOR_ENCRYPTDATA数据加密失败。因为是PKCS1格式,故加密的数据长度要小于证书的位数。比如1024位的证书,INDATA长度必须小于128。24私钥解密SOF_PRIKEYDECRYPT原型BSTRSOF_PRIKEYDECRYPTBSTRINDATA描述私钥解密(PKCS1格式)参数BSTRINDATAIN待解密的数据返回解密后的明文成功返回值空失败备注错误代码SOR_NULLPOINTER其中一个输入参数为NULL。SOR_DECRYPTDATA数据解密失败。25PKCS7数据签名SOF_SIGNDATABYP7原型BSTRSOF_SIGNDATABYP7BSTRINDATA描述对字符串数据进行数字签名,签名格式为PKCS7参数INDATAIN待签名的数据原文15返回值返回PKCS7格式的签名值的BASE64编码成功备注错误代码SOR_NULLPOINTERINDATA为NULL。SOR_SIGNDATA签名失败26验证PKCS7数据签名SOF_VERIFYSIGNEDDATABYP7原型SHORTSOF_VERIFYSIGNEDDATABYP7BSTRPKCS7SIGNDATA描述验证数字签名参数BSTRPKCS7SIGNDATAINPKCS7签名包0成功返回值其他见错误代码表备注错误代码SOR_NULLPOINTERINDATA为NULL。SOR_VERIFYSIGNDATA签名失败。SOR_PKCS7ENCODEPKCS7编码格式错误。27解析PKCS7签名包信息SOF_GETP7SIGNDATAINFO原型BSTRSOF_GETP7SIGNDATAINFOBSTRPKCS7SIGNDATA,INTTYPE描述解析PKCS7签名包的信息,可获得原文、签名值、签名证书等信息BSTRPKCS7SIGNDATAINPKCS7签名包参数INTTYPEIN类型返回TYPE对应的值成功返回值NULL失败备注错误代码SOR_NULLPOINTERINDATA为NULL。SOR_VERIFYSIGNDATA签名失败。SOR_PKCS7ENCODEPKCS7编码格式错误TYPE值1原文2签名者证书3签名值28XML数据签名SOF_SIGNDATAXML原型BSTRSOF_SIGNDATAXMLBSTRINDATA描述对XML数据进行数字签名,输出符合国际标准的XML签名结果参数BSTRINDATAIN签名原文,XML格式BSTRRET签名结果返回值空值失败备注错误代码SOR_NULLPOINTER输入的某一个参数为NULL。SOR_XMLENCODE不是合法的XML编码数据SOR_SIGNDATA签名失败。XML签名标准见HTTP/WWWW3ORG/TR/XMLDSIGCORE/29验证XML数据签名SOF_VERIFYSIGNEDDATAXML原型SHORTSOF_VERIFYSIGNEDDATAXMLBSTRINDATA描述验证XML签名参数BSTRINDATAXML签名值0成功返回值其他见错误码16备注错误代码SOR_NULLPOINTER输入的某一个参数为NULL。SOR_XMLENCODE不是合法的XML编码数据SOR_VERIFYSIGNDATA验证签名失败XML签名标准见HTTP/WWWW3ORG/TR/XMLDSIGCORE/30解析XML签名数据SOF_GETXMLSIGNATUREINFO原型BSTRSOF_GETXMLSIGNATUREINFOBSTRXMLSIGNEDDATA,SHORTTYPE描述解析XML签名数据,获取签名值、XML原文、证书等信息BSTRXMLSIGNEDDATAXML格式的签名数据参数TYPE待解析的参数类型返回值各项对应的信息备注错误代码SOR_NULLPOINTER输入的某一个参数为NULL。SOR_XMLENCODE不是合法的XML编码数据SOR_VERIFYSIGNDATA验证签名失败。SOR_PARAMETERNOTSUPPORT不支持的参数TYPE值1XML原文2摘要3签名值4签名证书5摘要算法6签名算法31创建时间戳请求SOF_CREATETIMESTAMPREQUEST原型BSTRSOF_CREATETIMESTAMPREQUESTBSTRINDATA描述创建时间戳请求参数BSTRINDATA待创建时间戳请求的原文BSTRRET时间戳请求(BASE64编码格式)返回值空值失败备注错误代码SOR_NULLPOINTER输入的某一个参数为NULL32创建时间戳响应SOF_CREATETIMESTAMPRESPONSE原型BSTRSOF_CREATETIMESTAMPREQUESTBSTRINDATA描述创建时间戳响应,即签发时间戳参数BSTRINDATA时间戳请求BSTRRET时间戳响应(BASE64编码格式)返回值空值失败备注错误代码SOR_NULLPOINTER输入的某一个参数为NULL。SOR_SIGNDATA签发时间戳失败33验证时间戳SOF_VERIFYTIMESTAMP原型SHORTSOF_VERIFYTIMESTAMPBSTRCONTENT,BSTRTSRESPONSEDATA描述验证时间戳BSTRCONTENT待验证的原文参数BSTRTSRESPONSEDATA时间戳0成功返回值其他见错误码备注错误代码SOR_NULLPOINTER输入的某一个参数为NULL。17SOR_VERIFYSIGNDATA验证时间戳失败34解析时间戳SOF_GETTIMESTAMPINFO原型BSTRSOF_GETTIMESTAMPINFOBSTRTSRESPONSEDATA,INTTYPE描述解析时间戳,获得时间戳的信息,包括时间、时间戳服务器证书、签名值等BSTRTSRESPONSEDATA时间戳参数INTTYPE类型TYPE对应的值成功返回值NULL出错备注错误代码SOR_NULLPOINTER输入的某一个参数为NULL。SOR_VERIFYSIGNDATA验证时间戳失败。SOR_PARAMETERNOTSUPPORT不支持的参数TYPE1返回时间;TYPE2返回签名值;TYPE3返回签名证书。35获得错误码SOF_GETLASTERROR原型SHORTSOF_GETLASTERROR描述获得上个函数的错误码参数无55证书应用综合服务接口服务器端JAVA组件函数定义1初始化环境SOF_GETINSTANCE原型PUBLICSTATICSOF_SECURITYENGINEDEALGETINSTANCEJAVALANGSTRINGAPPNAME描述获得一个对象实例,初始化对象参数JAVALANGSTRINGAPPNAME应用名称返回值对象实例备注抛出SOR_INITEXCEPTION,初始化环境失败SOR_JDOMEXCEPTIONXML解析异常SOR_IOEXCEPTIONIO操作异常SOR_APPNOTFOUNDEXCEPTION没有此应用2设置证书信任列表SOF_SETCERTTRUSTLIST原型PUBLICBOOLSOF_SETCERTTRUSTLISTJAVALANGSTRINGCTLALTNAME,JAVALANGSTRINGCTLCONTENT描述设置证书信任列表CTLALTNAME证书信任列表别名CTLCONTENT证书信任列表内容BASE64编码格式参数CTLCONTENTLEN证书信任列表长度TRUE成功返回值FALSE失败备注抛出SOR_PARAMETEREXCEPTION参数错误3查询证书信任列表别名SOF_QUERYCERTTRUSTLISTALTNAMES原型PUBLICJAVALANGSTRINGSOF_QUERYCERTTRUSTLISTALTNAMES描述查询证书信任列表别名参数无返回值非空,信任列表别名的字符串组合,成功18如“CA001CA002CA003”NULL失败备注抛出SOR_NOCTLSEXCEPTION没有证书信任列表4查询证书信任列表SOF_QUERYCERTTRUSTLIST原型PUBLICJAVALANGSTRINGSOF_QUERYCERTTRUSTLISTJAVALANGSTRINGCTLALTNAME描述根据别名查询证书信任列表参数CTLALTNAME证书信任列表别名非空,BASE64编码格式的证书信任列表成功返回值NULL失败备注抛出SOR_PARAMETEREXCEPTION参数错误SOR_NOCTLSEXCEPTION没有证书信任列表5删除证书信任列表SOF_DELCERTTRUSTLIST原型PUBLICBOOLSOF_DELCERTTRUSTLISTJAVALANGSTRINGCTLALTNAME描述根据别名删除证书信任列表参数CTLALTNAME证书信任列表别名TRUE成功返回值FALSE失败备注抛出SOR_PARAMETEREXCEPTION参数错误SOR_NOCTLSEXCEPTION没有证书信任列表6设置签名算法SOF_SETSIGNMETHOD原型VOIDSOF_SETSIGNMETHODJAVALANGSTRINGSIGNMETHOD描述设置JAVA组件签名运算使用的签名算法。参数SIGNMETHODIN签名算法返回值无备注抛出JAVALANGNULLPOINTEREXCEPTION参数为空指针SOR_PARAMETERNOTSUPPORTEXCEPTION不支持的参数SOR_ALGORITHMNOTFOUNDEXCEPTION算法无效7获得当前签名算法SOF_GETSIGNMETHOD原型JAVALANGSTRINGSIGNMETHODSOF_GETSIGNMETHOD描述获得组件签名运算使用的签名算法参数无返回值当前的签名算法8设置加密算法SOF_SETENCRYPTMETHOD原型VOIDSOF_SETENCRYPTMETHODINTENCRYPTMETHOD描述设置组件对数据加解密使用的对称算法。参数ENCRYPTME

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论