WebService文档.doc_第1页
WebService文档.doc_第2页
WebService文档.doc_第3页
WebService文档.doc_第4页
WebService文档.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

Web Service 详细解析及使用方法 XFIREXFIRE 篇篇 3 XFIRE简介 3 XFIRE特性 3 XFIRE使用 4 提供服务实现类 4 服务类的接口类 4 配置 services xml 5 测试服务类 5 客户端访问代码 6 发布服务 7 XFIRE总结 8 AXISAXIS 篇篇 8 AXIS简介 8 SOAP 简介 9 AXIS使用 9 提供服务实现类 9 配置 web xml 10 配置 server config wsdd 11 客户端访问代码 13 文件上传与下载 14 AXIS总结 20 XFIREXFIRE 和和 AXISAXIS 的比较的比较 21 XFire 的优点 21 XFire 的缺点 22 Axis 的优点 22 Axis 的缺点 23 CXFCXF 篇篇 23 CXF 简介 23 CXF 使用 24 提供服务实现类 24 服务类的接口类 24 测试服务类 24 服务安全性服务安全性 24 数字证书 24 数字签名 25 AXIS HANDLER 日志 26 Handler 功能简介 26 Handler 日志 26 创建 Handler 日志 26 修改部署描叙文件 27 AXIS HANDLER 对用户的访问认证 27 创建用户访问认证类 27 修改部署描叙文件 28 修改客户端访问程序 28 AXIS HANDLER 用户的访问授权 29 创建用户访问授权类 29 修改部署描叙文件 30 修改客户端访问程序 30 AXIS HANDLER 传输过程中的加密和解密 30 发送的订单 SOAP 消息 30 SOAP 消息某些部分加密 31 敏感的信息加密 32 服务端 Handler 代码 32 JAVAJAVA 环境下的环境下的 AXISAXIS 与与 XFIREXFIRE 性能测试性能测试 34 测试环境 34 测试内容 34 测试结果 34 Axis 测试报告 34 XFire 测试报告 35 性能测试总结报告 35 Axis 报告 35 XFire 报告 35 XFireXFire 篇篇 XFireXFire 简介简介 它拥有一个轻量级的信息处理模块 通过 STAX 来与 SOAP 信息相结合 提供了一个工 作在 web services 下的简单 API 支持 POJO 和 schema 开发 XFire 是 CodeHaus 推出的 下一代的 Java SOAP 框架 它构建了 POJO 和 SOA 之间的桥梁 主要特性就是支持将 POJO 通过非常简单的方式发布成 Web 服务 这种处理方式不仅充分发挥了 POJO 的作用 简化了 Java 应用转化为 Web 服务的步骤和过程 也直接降低了 SOA 的实现难度 为企 业转向 SOA 架构提供了一种简单可行的方式 通过提供简单的 API 和支持标准协议 可以 很方便的开发面向服务的程序 内建在 STAX 基于流的 XML 解析引擎的基础上 XFire 拥有 很高的性能 図図 1 1 XFireXFire 特性特性 1 支持重要的 web 服务标准 如 SOAP WSDL WS I WS Addressing WS Security 基本概要等 2 高性能的 SOAP栈设计 3 可插拔的绑定 支持 POJO XMLBeans JAXB1 1 JAXB2 及 castor 4 jsr181 规范 5 支持多种传输协议 HTTP JMS XMPP In JVM 6 可嵌入式的 API 7 JBI 支持 8 客户端和服务器端的存根创建工具 9 JAX WS 的早期支持 XFireXFire 使用使用 首先打开 IDE 创建一个普通的 Java 工程 将 XFire 所需要的 jar 加入到工程的类库 引用中 创建一个简单的 Java 文件 这个文件只有一个名为sayHello的成员方法 提供服务实现类提供服务实现类 服务类的接口类服务类的接口类 包名 packagepackage net ruixin webservicedemo 服务实现类的实现 author author caoxiang publicpublic classclass HelloWorldServiceImpl implementsimplements IHelloWorldService 返回名称的方法 param param name 名称 publicpublic String sayHello String name returnreturn 您好 name 包名 packagepackage net ruixin webservicedemo 服务接口类的创建 author author caoxiang publicpublic interfaceinterface IHelloWorldService 返回名称的方法 param param name 名称 return return 返回值 publicpublic String sayHello String name 配置配置 services xmlservices xml 标签说明 WebService的服务名 HelloWorldService WebService的服务接口类 net ruixin webservicedemo IHelloWorld Service WebService的服务接口实现类 net ruixin webservicedemo Hello WorldServiceImpl WebService的服务有效范围 application HelloWorldService net ruixin webservicedemo IHelloWorldService net ruixin webservicedemo HelloWorldServiceImpl application 测试服务类测试服务类 包名 packagepackage net ruixin webservicedemo importimport MalformedURLException importimport org codehaus xfire XFireFactory importimport org codehaus xfire client XFireProxyFactory importimport org codehaus xfire service Service importimport org codehaus xfire service binding ObjectServiceFactory 测试服务类的创建 author author caoxiang publicpublic classclass HelloWorldClient 测试主程序 param param args throws throws Exception publicpublic staticstatic voidvoid main String args 通过接口类创建Service对象 Service srvcModel newnew ObjectServiceFactory create IHelloWorldService classclass 通过XFire的工厂类创建工厂对象 XFireProxyFactory factory newnew XFireProxyFactory XFireFactory newInstance getXFire 访问的地址 String helloWorldURL http localhost 5200 xfire sample services HelloWorldSe rvice 异常处理 trytry 创建服务对象 IHelloWorldService srvc IHelloWorldService factory create srvcModel helloWorldURL 调用服务中的方法 并显示其结果 System out print srvc sayHello dennis 异常处理 catchcatch MalformedURLException e 显示错误信息 e printStackTrace 客户端访问代码客户端访问代码 XFire Axis 以及其他的一些商业产品都提供了 wsdl 文档创建客户端代码的工具 这 里 用 XFire 提供的 wsgen 工具来创建客户端的访问代码 Wsgen 是 XFire 提供的一个 ant task task 的申明如下 outputDirectory 属性定义了创建代码的存放路径 wsdl 是 web 服务的 wsdl 文件 package 代表创建的代码的 package 还可以通过 binding 属性指定 bind 类型 jaxb 或者 是 xmlbeans 这样就会在 outputDirectory 属性指定的目录下创建多个 Java 文件 这些文件提供了访问 web 服务的方法 发布服务发布服务 XFire 框架中 我们有两种方式将 POJO 发布成 Web 服务 方式 1 直接使用 Web 服务接口和 Web 服务实现类 POJO 来发布 HelloWorldService net rubyeye webservicedemo IHelloWorldService net rubyeye webservicedemo HelloWorldServiceImpl wrapped literal application 方式2 基于 JSR181 标准和注释技术将被注释的 POJO 发布成 Web 服务 packagepackage com test importimport javax jws WebMethod importimport javax jws WebParam importimport javax jws WebResult importimport javax jws WebService WebService name Hello serviceName Hello targetNamespace publicpublic classclass Hello WebMethod WebResult publicpublic String getName WebParam String name returnreturn Hello world name com test Hello jsr181 XFireXFire 总结总结 XFire 做为 Java SOAP 的开发框架 具备一定的优越性 比如他能够快速的开发 能 够比较容易的部署到服务器上 做为 soap4j 的下一代开源框架 XFire 不但拥有了上一代 的优势 而且在其优势的基础上也进行了一定的扩展 增加了许多的扩展 对于 webservice 的开发 XFire 做到了可以快速开发 快速部署 在服务器方面 XFire 的性 能比较优越 相比其他的 web service 框架 XFire 的性能也是比较优越的 XFire 在发布 之后 如果客户端需要使用已经发布的 web service 那么他就必须通过服务端程序生成 客户端代码或者将服务端的接口类写入到客户端 在这方面 Axis 做得比 XFire 要好 因为 Axis 是面向 wsdl 的 针对的是服务的描叙 而并非是服务的本质 类和接口 对于使用 者来说 XFire 开发简单 部署方便 性能优越这些都是 XFire 作为 web service 的优势所 在 正如敏捷式一书的作者 这么说过 作为开发效率和速度是最重要的 AxisAxis 篇篇 AxisAxis 简介简介 Axis 是 Apache 组织推出的 SOAP 引擎 Axis 项目是 Apache 组织著名的 SOAP 项目的后 继项目 目前最新版本是采用 Java 开发的 1 1 版本 C 的版本正在开发之中 Axis v1 1 软件包可以从 http ws apache org axis dist 1 1 下载得到 但是 Axis 不仅仅是一个 SOAP 引擎 它还包括 1 一个独立运行的 SOAP 服务器 2 一个 servlet 引擎的插件 这个 servlet 引擎可以是 Tomcat 3 对 WSDL 的扩展支持 4 一个将 WSDL 的描述生成 JAVA 类的工具 5 一些示例代码 6 还有一个监控 TCP IP 包的工具 図図 2 2 SOAPSOAP 简介简介 SOAP 是一个基于 XML 的用于应用程序之间通信数据编码的传输协议 最初由微软和 Userland Software 提出 随着不断地完善和改进 SOAP 很快被业界广泛应用 目前完全 发布版本是 1 1 在其发展过程中 W3C XML 标准工作小组积极促成 SOAP 成为一个真正的 开放标准 在写作此文档之时 SOAP1 2 草案已经发布 1 2 对 1 1 中相对混乱的部分做了 改进 SOAP 被广泛作为新一代跨平台 跨语言分布计算 Web Services 的重要部分 AxisAxis 使用使用 提供服务实现类提供服务实现类 包名 packagepackage zpf 服务实现类的实现 author author caoxiang publicpublic classclass SSOWebservice 登陆并得到用户信息 publicpublic booleanboolean login String loginid String password 判断用户是否登陆成功的标记 booleanboolean ret falsefalse ifif loginid equals caoxiang elseelse ret falsefalse 返回 returnreturn ret 配置配置 web xmlweb xml XFireServlet org codehaus xfire transport http XFireConfigurableServlet 0 XFireServlet services AxisServlet org apache axis transport http AxisServlet AdminServlet org apache axis transport http AdminServlet 100 SOAPMonitorService org apache axis monitor SOAPMonitorService SOAPMonitorPort 5001 100 AxisServlet servlet AxisServlet AxisServlet jws AxisServlet services SOAPMonitorService SOAPMonitor wsdl text xml xsd text xml 配置配置 server config wsddserver config wsdd http xml apache org axis wsdd http xml apache org axis wsdd 客户端访问代码客户端访问代码 importimport org apache axis client Call importimport org apache axis client Service importimport org apache axis encoding XMLType importimport javax xml rpc ParameterMode 客户端登陆类的实现 author author caoxiang publicpublic classclass CallC 测试主程序 param param args throws throws Exception publicpublic staticstatic voidvoid main String args throwsthrows Exception trytry 服务路径 String endpoint http localhost 5200 axis sample services SSOWebservice 用户名 String user newnew String 1 密 码 String password newnew String 2 服务对象 Service service newnew Service 调用服务的对象 Call call Call service createCall 设置目标服务 call setTargetEndpointAddress newnew URL endpoint 设置调用的方法 call setOperationName login 设置参数 call addParameter loginid XMLType XSD STRING ParameterMode IN 设置参数 call addParameter password XMLType XSD STRING ParameterMode IN call setReturnType XMLType XSD BOOLEAN 用于判断用户是否登陆的成功的标记 Boolean bv falsefalse 判断服务对象是否为空 ifif call nullnull 调用服务端程序 并接收服务端的返回值 bv Boolean call invoke newnew Object user password 如果登陆成功 ifif bv System out println 用户登陆成功了 elseelse System out println 用户登陆失败了 异常处理 catchcatch Exception e 显示错误 e printStackTrace 文件上传与下载文件上传与下载 因为项目中可能会用到 web service 提供的文件下载与上传功能 下面就简单举例介 绍 Axis 中是如何实现文件上传与下载的 创建服务类 packagepackage zpf importimport java io File importimport java io FileOutputStream importimport java io IOException importimport java io InputStream importimport javax activation DataHandler importimport javax activation FileDataSource importimport org apache log4j Logger publicpublic classclass FileService staticstatic Logger logger Logger getLogger FileService classclass getName publicpublic staticstatic String Repository C uploads publicpublic String putFile DataHandler dh String name ifif name nullnull name test tmp logger debug 文件名为空 设置文件名 trytry File dir newnew File Repository ifif dir exists dir mkdir logger debug 附件存放目录为空 创建 uploads 目录 InputStream input dh getInputStream FileOutputStream fos newnew FileOutputStream newnew File dir aa txt bytebyte buffer newnew bytebyte 1024 4 intint n 0 whilewhile n input read buffer 1 fos write buffer 0 n input close fos close catchcatch IOException e e printStackTrace returnreturn name send OK publicpublic DataHandler getFile String name throwsthrows IOException File dir new File Repository if dir exists dir mkdir File data new File dir name if data exists return new DataHandler new FileDataSource data else return null DataHandler ret newnew DataHandler 1 java io File myFile newnew java io File C 00 txt ifif myFile isFile ret 0 newnew DataHandler newnew FileDataSource fname returnreturn ret 部署描叙文件 服务端代码 packagepackage zpf importimport java io BufferedReader importimport java io File importimport java io FileWriter importimport java io InputStreamReader importimport org apache axis client Call importimport org apache axis client Service importimport org apache axis encoding XMLType importimport org apache axis encoding ser JAFDataHandlerDeserializerFactory importimport org apache axis encoding ser JAFDataHandlerSerializerFactory importimport javax activation DataHandler importimport javax activation FileDataSource importimport javax xml namespace QName importimport javax xml rpc ParameterMode publicpublic classclass CallFileService privateprivate String fileName publicpublic staticstatic voidvoid main String args CallFileService doPut C 00 txt 文件上传 publicpublic voidvoid PutFile String fileName thisthis fileName fileName publicpublic booleanboolean doPut returnreturn doPut fileName publicpublic staticstatic booleanboolean doPut String fileName String name fileName trytry String endpoint http localhost 5200 axis sample services FileService Service service newnew Service Call call Call service createCall DataHandler dh newnew DataHandler newnew FileDataSource fileName call setTargetEndpointAddress newnew URL endpoint call setOperationName newnew QName endpoint putFile QName qnameattachment newnew QName FileService DataHandler call registerTypeMapping dh getClass qnameattachment JAFDataHandlerSerializerFactory classclass JAFDataHandlerDeserializerFactory classclass call addParameter s1 qnameattachment ParameterMode IN call addParameter s2 XMLType XSD STRING ParameterMode IN call setReturnType XMLType XSD STRING String uploadedFN String call invoke newnew Object dh name ifif uploadedFN nullnull catchcatch Exception e logger error 调用文件上传Web服务出错 e getMessage returnreturn falsefalse returnreturn falsefalse 文件下载 publicpublic voidvoid GetFile String fileName thisthis fileName fileName publicpublic booleanboolean doGet returnreturn doGet fileName publicpublic staticstatic booleanboolean doGet String fileName InputStreamReader ins nullnull BufferedReader br nullnull FileWriter fw nullnull trytry String endpoint http localhost 5200 axis sample services FileService Service service newnew Service Call call Call service createCall DataHandler dh newnew DataHandler newnew FileDataSource fileName call setTargetEndpointAddress newnew URL endpoint call setOperationName newnew QName endpoint getFile QName qnameattachment newnew QName FileService DataHandler call registerTypeMapping dh getClass qnameattachment JAFDataHandlerSerializerFactory classclass JAFDataHandlerDeserializerFactory classclass call addParameter s1 qnameattachment ParameterMode IN call setReturnType newnew QName FileService DataHandler DataHandler classclass DataHandler ret DataHandler call invoke newnew Object fileName ins newnew InputStreamReader ret getInputStream br newnew BufferedReader ins File dir newnew File DownLoadFile ifif dir exists dir mkdir logger debug 下载文件存放目录不存在 创建 dir getAbsolutePath 目录 File f newnew File dir fileName reply fw newnew FileWriter f String tmp br readLine whilewhile tmp nullnull fw write tmp n tmp br readLine catchcatch Exception e logger error 调用文件下载Web服务出错 e getMessage returnreturn falsefalse finallyfinally trytry br close ins close fw close catchcatch Exception ee returnreturn falsefalse public static void main String args try Service service new Service Call call Call service createCall call setTargetEndpointAddress http localhost 5200 axis sample services FileService call setOperationName getFile QName qnameAttachment new QName TransFile DataHandler call registerTypeMapping DataHandler class qnameAttachment JAFDataHandlerSerializerFactory class JAFDataHandlerDeserializerFactory cl ass call addParameter a XMLType XSD STRING ParameterMode IN call setReturnType XMLType SOAP ARRAY javax activation DataHandler ret javax activation DataHandler call invoke new Object lishu for int i 0 i ret length i DataHandler recDH ret i System out println recDH getName java io File receivedFile new java io File D recDH getName 文件生成 catch Exception ex ex printStackTrace AxisAxis 总结总结 Axis 做为 soap4j 的下一代开源框架 它提供了支持 java SOAP 服务器的 API 但是 Axis 在配置文件和部署服务上都是比较繁琐的 在服务器性能方面 Axis 的性能没有用 XFire 部署的服务性能要高 但是 Axis 在发布客户端代码时比 XFire 要方便 因为 Axis 可以不需要服务端生成的接口和类便可以调用服务端程序 但是 XFire 需要服务端的程序 或者服务端生成的客户端程序 虽然 Axis 没有比较全面的文档 但是 Axis 的接口还是比 较简单的 可以进行简单的一次开发 对于部署 Axis 配置文件虽然繁琐 但是都是 XML 文件的形式表达的 所以对于修改 Axis 文件还是比较简单的 之所以 Axis 的用户比 XFire 的用户要多 可能是 Axis 都是面向 XML 进行部署的 而其他的 web service 开源软 件都是面向类和接口去部署 这点是 Axis 的部署和其他不同点 对于服务的兼容性 Axis 的支持性远远比其他的开源框架要多 在性能方面虽然 Axis 不足于 XFire 但是 Axis 的 性能还是比较可靠的 在兼容性方面 Axis 可以很好的和其他的 web 开发语言融合 而 XFire 只能支持有 jdk1 5 的环境 对于这点 Axis 无需 jdk1 5 的要求 所以说在这点 Axis 领先于 XFire 对于任何一个开发者不管你是开发 web service 还是开发 web project Axis 都比较适用 XFireXFire 和和 AxisAxis 的比较的比较 XFireXFire 的优点的优点 XFire 方便 简化 Web 服务开发 开发速度快 易于上手 配置简洁 可以和 Spring 很好的结合 図図 3 3 本地数据绑定功能 支持普通 Java 对象 POJO XMLBeans 面向 XML 绑 定的 Java 架构 JAXB 和 Castor 等 数据绑定指定了发送至 Web 服务的 XML 请求 以及返回的 XML 响应如何映射成 Java 对象 使用用于 XML 的流式 API StAX 处理 XML 文档 与文档对象模型 DOM 的基于树形的方法以及用于 XML 的简单 API SAX 的事件驱动方法相比 StAX 使 用了基于拉取的机制 这不但大大加快了速度 还提高了内存的使用效率 支持各种传输协议 譬如 HTTP Java 消息服务 JMS 和 Java 虚拟机内部 传输 in JVM transport 嵌入功能 这是 XFire 的主要优点之一 可以把这个 SOAP 引擎嵌入到应用 当中 完全隐藏 XFire 特定的所有引用 因为所有配置都是程序驱动的 具有丰富的 API 这样一来 非常容易定制 让开发人员可以在需要时 在 不同阶段截获请求 并且进行处理 符合诸多最新标准 譬如 SOAP 1 1 没有编码的远程过程调用即 RPC 和 1 2 WSDL 1 1 Web 服务互操作性组织的 Basic Profile 1 0 Web 服务寻址规范 和 Web 服务安全标准 性能和局限 Web 服务使用许多资源 但它们的性能并不高 XFire 打破了 这个传统 与同类的 SOAP 引擎相比 XFire 使用的内存大大减少 一方面是由于 使用 StAX 而性能却大大提高 另外 XFire 还提供了进一步优化性能的几种方 法 方法之一就是使用 Java 虚拟机内部传输 如果知道 Web 服务与客户程序在同 一个 Java 虚拟机里面运行 就可以选择使用本地传输 这样可以高速传输服务 XFire 支持 web service standards Spring 整合 支持 JBI AXB 和 XMLBeans XFireXFire 的缺点的缺点 缺少支持附件的功能 不过将来的版本一定能支持该功能 缺少简单易懂的用户指南 XFire 开发队伍在这方面有许多工作要做 AxisAxis 的优点的优点 Axis 应用了管道和过滤器模式 Aixs 是 apache 开源的 webservice 实现服务器 简单的说 axis 就是处理 Message 它首先截获客户端的请求 然后转发到真正的实现业 务逻辑上处理客户端的请求 在这之前经过一系列的 handler 处理 它的结构很像 EJB 容器 其 实就是管道和过滤器模式的应用 Handler 就是过滤器 它的处理顺序主要考虑两个方面一 个是部署描述符 deployment configuration 另一个就是是客户端还是服务器端 Handle r 处理的对象是 MessageContext 它的由 3 个重要的部分组成 一是一个 request Message 一个是 response message 还有许多属性 经研究源码分析 在服务器端 有一个 Tran sport Listener 它监听客户端的请求 可以通过多种协议 一旦有客户请求 它将按照 协议的规范把数据解析生成生成一个 Message 对象 然后把它设置到 MessageContext 然 后调用一系列的 Handler 进行处理 其结构图如下 図図 4 4 支持附件的功能 AxisAxis 的缺点的缺点 开发过程比较繁琐 配置比较复杂 部署服务器比较麻烦 缺少简单易懂的用户指南 Axis 开发队伍在这方面有许多工作要做 性能不够优越 CXFCXF 篇篇 CXFCXF 简介简介 作为继承 Celtix 以及 XFire 两大开源项目的精华 CXF 提供 JAX WS 的全面支持 并 且提供了多种 Binding 以及 Transport 的支持 可以采用 WSDL first 或者 Code first 轻松实现 WebService 的发布和使用 CXF 是一个 JAX WS API 的实现 CXF 支持多种 binding transport CXF 支持也支持除 JAX WS 之外的服务模型 例如 JBI CORBA SCA 等 CXF 采用 CodeFirst 的服务发布方式 CXFCXF 使用使用 提供服务实现类提供服务实现类 public interface HelloImpl public String sayHello return hello 服务类的接口类服务类的接口类 public interface Hello String sayHello 测试服务类测试服务类 import org apache cxf frontend ServerFactoryBean Create our service implementation HelloWorldImpl helloWorldImpl new HelloWorldImpl Create our Server ServerFactoryBean svrFactory new ServerFactoryBean svrFactory setServiceClass Hello class svrFactory setAddress http localhost 8080 Hello svrFactory setServiceBean helloWorldImpl svrFactory create 服务安全性服务安全性 数字证书数字证书 相当于身份证件 数字证书是在 IE 中做为一种身份标识的 由于 Internet 网电子商务系统技术使在网上购物的顾客能够极其方便轻松地获得 商家和企业的信息 但同时也增加了对某些敏感或有价值的数据被滥用的风险 为 了保证互联网上电子交易及支付的安全性 保密性等 防范交易及支付过程中的欺 诈行为 必须在网上建立一种信任机制 这就要求参加电子商务的买方和卖方都 必须拥有合法的身份 并且在网上能够有效无误的被进行验证 数字证书是一种 权威性的电子文档 它提供了一种在 Internet 上验证您身份的方式 其作用类似 于司机的驾驶执照或日常生活中的身份证 它是由一个由权威机构 CA 证书授 权 Certificate Authority 中心发行的 人们可以在互联网交往中用它来识别对 方的身份 当然在数字证书认证的过程中 证书认证中心 CA 作为权威的 公 正的 可信赖的第三方 其作用是至关重要的 数字证书也必须具有唯一性和可靠性 为了达到这一目的 需要采用很多技术来 实现 通常 数字证书采用公钥体制 即利用一对互相匹配的密钥进行加密 解 密 每个用户自己设定一把特定的仅为本人所有的私有密钥 私钥 用它进行解 密和签名 同时设定一把公共密钥 公钥 并由本人公开 为一组用户所共享 用于加密和验证签名 当发送一份保密文件时 发送方使用接收方的公钥对数据 加密 而接收方则使用自己的私钥解密 这样信息就可以安全无误地到达目的地 了 通过数字的手段保证加密过程是一个不可逆过程 即只有用私有密钥才能解 密 公开密钥技术解决了密钥发布的管理问题 用户可以公开其公开密钥 而保 留其私有密钥 数字证书颁发过程一般为 用户首先产生自己的密钥对 并将公共密钥及部分个 人身份信息传送给认证中心 认证中心在核实身份后 将执行一些必要的步骤 以确信请求确实由用户发送而来 然后 认证中心将发给用户一个数字证书 该 证书内包含用户的个人信息和他的公钥信息 同时还附有认证中心的签名信息 用户就可以使用自己的数字证书进行相关的各种活动 数字证书由独立的证书发 行机构发布 数字证书各不相同 每种证书可提供不同级别的可信度 可以从证 书发行机构获得您自己的数字证书 目前的数字证书类型主要包括 个人数字证书 单位数字证书 单位员工数字证 书 服务器证书 VPN 证书 WAP 证书 代码签名证书和表单签名证书 随着 Internet 的普及 各种电子商务活动和电子政务活动的飞速发展 数字证书 开始广泛地应用到各个领域之中 目前主要包括 发送安全电子邮件 访问安全 站点 网上招标投标 网上签约 网上订购 安全网上公文传送 网上缴费 网 上缴税 网上炒股 网上购物和网上报关等 数字签名数字签名 相当于在现实社会中给文件签名那种 简单地说 所谓数字签名就是附加在数据单元上的一些数据 或是对数据单元所作的密 码变换 这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完 整性并保护数据 防止被人 例如接收者 进行伪造 它是对电子形式的消息进行签名的一种 方法 一个签名消息能在一个通信网络中传输 基于公钥密码体制和私钥密码体制都可以获 得数字签名 目前主要是基于公钥密码体制的数字签名 包括普通数字签名和特殊数字签名 普通数字签名算法有 RSA ElGamal Fiat Shamir Guillou Quisquarter Schnorr Ong Schnorr Shamir 数字签名算法 Des DSA 椭圆曲线数字签名 算法和有限自动机数字签名算法等 特殊数字签名有盲签名 代理签名 群签名 不可否 认签名 公平盲签名 门限签名 具有消息恢复功能的签名等 它与具体应用环境密切相关 显然 数字签名的应用涉及到法律问题 美国联邦政府基于有限域上的离散对数问题制定了 自己的数字签名标准 DSS 一些国家如法国和德国已经制定了数字签名法 AxisAxis HandlerHandler 日志日志 HandlerHandler 功能简介功能简介 Handler 提供了对客户端进行认证 授权 把用户的访问写入系统日志 对请求的 SOAP 消息进行加密 解密 为 Web Services 对象做缓存 SOAP 消息 Handler 能够访问代表 RPC 请求或者响应的 SOAP 消息 Apache axis 是我们当前开发 Web 服务的较好的选择 使用 axisWeb 服务开发工具 可 以使

温馨提示

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

评论

0/150

提交评论