原文:构建安全的Xml Web Service系列之SSL篇

首先介绍一下SSL, SSL 的英文全称是 "Secure Sockets Layer" ,中文名为 "安全套接层协议层 ",它是网景( Netscape )公司提出的基于 WEB 应用的安全协议。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL是Security Socket Layer的缩写,技术上称为安全套接字,可以简单为加密通讯协议,使用SSL可以对通讯(包括电子邮件)内容进行高强度的加密,以防止黑客监听您的通讯内容甚至是用户密码。
    那么在Xml Web Service上使用SSL有何意义呢?Xml Web Service传输的数据是Xml格式的,Xml是一种明文,而传输层通过tcp/ip来传输,而tcp/ip的传输可能被非法监听,黑客可以轻易的将Xml数据解析出来,截获信息甚至篡改数据,这样就造成了Xml Web Service在数据传输中是很不安全的。利用SSL可以将原本的Xml经过高强度的加密,从而有效的防止数据在传输过程中被非法截获和篡改。
    下面讲下如何在Xml Web Service上使用SSL,使用SSL需要一个数字证书,这个证书您可以通过商业购买也可以使用自己CA产生的证书,只是需要一些额外的工作而已。通常情况下,您的网络服务用于单位之间的合作接口的话,用自己的CA产生的证书就完全就可以了,但象银行这样的金融机构,他们的用户群比较大,最好还是购买证书。本文只阐述如何使用自己的CA产生SSL证书。
    1. 安装证书颁发机构
       windows 2003 标准版和服务器版都是自带证书颁发机构的组件的,但是默认不安装,要申请证书,必须安装证书颁发机构组件,安装方法:
     打开控制面板-添加/删除程序,选择添加/删除windows组件,插入windows的安装光盘,选择“证书服务”,然后一路下一步即可。安装成功之后,便可以进入下一步的申请SSL证书。
     2.申请SSL证书
       要想为Web Service设置SSL,必须将Web Service设置为网站,而不能是虚拟目录。
      首先,打开IIS,右键单击web service所在网站 ,点击目录安全性,在安全通讯中选择“服务器证书”,点  击下一步,选择”新建证书“,点击下一步,然后选择”现在准备证书请求,但稍后发送“,点击下一步,输入一个任意的证书名称,位长选择默认的1024即可,长度越长保密性越好,但性能越差。单击下一步,输入单位和部门,单击下一步,出现如下界面:

注意:公共名称必须填写为访问站点的域名,如:要想用下面的地址访问Web Service,https://192.168.1.179/..,则此处必须填写"192.168.1.179”,否则将提示使用了不安全的证书,导致站点无法访问。将此步骤设置好以后,一路next即可。
   在IE地址栏上输入“http://localhost/certsrv/default.asp”,在出现的网页中,选择“申请一个证书”,进入到下一个页面,选择“高级证书申请”,在下页中选择“使用Base64编码的的CMC或PKCS#10文件提交一个证书申请,或使用一个PKCS#7文件续订一个证书申请”,在下页中,输入在上一步中生成文件中base64代码,保存的属性可以为空,一路next即可。
   接下来需要作的的工作通过证书颁发机构,颁发刚才申请的证书,单击开始-管理工具-证书颁发机构,选挂起的的申请,在刚才申请的证书上点击右键,选择颁发,然后选择颁发的证书,点击刚才颁发的证书,选择详细信息,点击“复制到文件”,一路next下去就可以了,将证书保存到一个文件中。
   接下来,回到IIS设置中,在网络服务的站点上,再次点击服务器证书,选择“处理挂起的请求并安装”证书,选择刚才导出的证书文件,下一步即可。安装好证书后,点击目录安全性下-安全通讯-编辑,将“要求安全通道(SSL)"勾选上。这样就完成了SSL设置,注意勾选上SSL后,必须用https来访问,而访问网站的端口也会使用SSL端口,默认为443,如果在您访问站点的过程中出现无法正常访问的问题,请检查服务器防火墙是否禁止对SSl端口443的访问,这点比较容易被忽视。还有一点,因为是自己CA产生的证书,如果要让其他人能通过https访问网络服务,需要作额外的一点工作 ,将CA的根证书导入到客户端证书的可信任机构中,客户端就可以正常访问网络服务了。

构建安全的Xml Web Service系列之SSL篇的更多相关文章

  1. 构建安全的Xml Web Service系列之wse之证书存储位置

    原文:构建安全的Xml Web Service系列之wse之证书存储位置 我们在前几天对xml web service的安全性提出了一些建议,大家可以通过以下地址访问: 构建安全的Xml Web Se ...

  2. 构建安全的Xml Web Service系列之wse之错误代码详解

    原文:构建安全的Xml Web Service系列之wse之错误代码详解 WSE3.0现在还没有中文版的可以下载,使用英文版的过程中,难免会遇到各种各样的错误,而面对一堆毫无头绪的错误异常,常常会感到 ...

  3. 构建安全的Xml Web Service系列之初探使用Soap头

    原文:构建安全的Xml Web Service系列之初探使用Soap头 Xml Web Service 从诞生那天就说自己都么都么好,还津津乐道的说internet也会因此而进入一个新纪元,可5年多来 ...

  4. 构建安全的Xml Web Service系列之如何察看SoapMessage

    原文:构建安全的Xml Web Service系列之如何察看SoapMessage 上一篇文章地址:构建安全的Xml Web Service系列一之初探使用Soap头 (5-22 12:53)     ...

  5. C# 开发XML Web Service与Java开发WebService

    一.web service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量 ...

  6. 深入学习Web Service系列----异步开发模式

    概述 在本篇随笔中,通过一些简单的示例来说一下Web Service中的异步调用模式.调用Web Service方法有两种方式,同步调用和异步调用.同步调用是程序继续执行前等候调用的完成,而异步调用在 ...

  7. XML Web Service架构图

  8. WEB监控系列第三篇:graphite指南

    一  使用说明 以下是喂数据的方式,但是在实际使用中我们使用statsd来喂数据,请参考我的第四篇文章:statsd指南 喂数据有三种方式: There are three main methods ...

  9. Web Service简介 内部资料 请勿转载 谢谢合作

    1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求, ...

随机推荐

  1. PS CC 2014 把一个图层输出为文件的方法

    近期在设计一个Qt控件,须要获得一个圆饼的图片,在用PS绘制后发现保存的时候总是会带着背景,用PNG格式保存之后背景依旧存在.仅仅是变成了透明的.刚才在Google上查到了仅仅保存单一图层而全然没有背 ...

  2. IO流的总结

    流操作的基本规律: 最痛苦的就是流对象有非常多.不知道该用那一个. 通过明白来完毕. (1).明白源和目的 源:输入流InputStream Reader 目的:输出流OutputStream Wri ...

  3. Windows 8.1下 MySQL绿色版安装配置与使用

    原文:Windows 8.1下 MySQL绿色版安装配置与使用 Mysql-5.6.17-winx64操作步骤: 一.安装MySQL数据库 1.下载. 下载地址:http://downloads.my ...

  4. jQuery Mobile 是创建移动 web 应用程序的框架。

    jQuery Mobile jQuery Mobile 是创建移动 web 应用程序的框架. jQuery Mobile 适用于所有流行的智能手机和平板电脑. jQuery Mobile 使用 HTM ...

  5. 使用jquery+一般处理程序异步载入信息

    需求:有时候.web界面对性能要求比較高.我们就不考虑使用asp.net控件.而是使用html标签+jquery+一般处理程序来进行异步处理. watermark/2/text/aHR0cDovL2J ...

  6. Java的JXL操作xls形式

    jxl这是一个韩国的写作java操作excel工具, 源世界中,有两套比較有影响的API可供使用.一个是POI,一个是jExcelAPI.当中功能相对POI比較弱一点.但jExcelAPI对中文支持非 ...

  7. matlab secant method

    % Matlab script to illustrate the secant method % to solve a nonlinear equation % this particular sc ...

  8. cocos2d-x 3.1.1 学习笔记[2]Sprite 精灵

    Sprite应该是用到最多的一个类吧.无法想像一个游戏没有精灵将怎样进行愉快的玩耍. Sprite继承于Node 和 TextureProtocol. Sprite是一个2d的图像. Sprite能够 ...

  9. Java EE (7) -- Java EE 6 Enterprise Architect Certified Master(1z0-807)

    Application Design Concepts and Principles Identify the effects of an object-oriented approach to sy ...

  10. dpdk组态 千兆网卡 驱动 失败 原因分析及 解决方案

    dpdk版本号是1.7.1稳定版,server它是ubuntu12.04LTS x86 64bit 绑定默认驱动程序千兆网卡ixgbe失败 # ./dpdk_nic_bind.py -b ixgbe ...