构建安全的Xml Web Service系列(三)

2016-02-19 19:00 7 1 收藏

今天给大家分享的是由图老师小编精心为您推荐的构建安全的Xml Web Service系列(三),喜欢的朋友可以分享一下,也算是给小编一份支持,大家都不容易啊!

【 tulaoshi.com - Web开发 】

  首先介绍一下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 标准版和服务器版都是自带证书颁发机构的组件的,但是默认不安装,要申请证书,必须安装证书颁发机构组件,安装方法:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  打开控制面板-添加/删除程序,选择添加/删除windows组件,插入windows的安装光盘,选择“证书服务”,然后一路下一步即可。安装成功之后,便可以进入下一步的申请SSL证书。

  2.申请SSL证书

  要想为Web Service设置SSL,必须将Web Service设置为网站,而不能是虚拟目录。

  首先,打开IIS,右键单击web service所在网站 ,点击目录安全性,在安全通讯中选择“服务器证书”,点 击下一步,选择”新建证书“,点击下一步,然后选择”现在准备证书请求,但稍后发送“,点击下一步,输入一个任意的证书名称,位长选择默认的1024即可,长度越长保密性越好,但性能越差。单击下一步,输入单位和部门,单击下一步,出现如下界面:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  注意:公共名称必须填写为访问站点的域名,如:要想用下面的地址访问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的根证书导入到客户端证书的可信任机构中,客户端就可以正常访问网络服务了。

来源:http://www.tulaoshi.com/n/20160219/1619784.html

延伸阅读
标签: ASP
       附实例A      <?Xml version="1.0" ?>   <serviceDescription Xmlns:s0="http://tempuri.org/" name="SecurityWebService" targetNamespace="http://tempuri.org/"   Xmlns="urn:schemas-Xmlsoap-org:sdl.2000-01-25">   <soap Xmlns="ur...
如何调用他人提供的Web Service 声明:本文不讲述WebService的概念,纯粹讲使用方法。 请按下列步骤操作: 1、打开网站:http://www.xmethods.com。这个网站提供了很多WebService,我们选择其中一个比较简单的做为例子: 这个WebService有一个随机返回一句名人名言的方法,稍候介绍。 2、点击RandomQuote链接,找到他的WSDL地址: ...
标签: ASP
          创建Web Service       我将用c#创建一个Web Service 叫SecurityWebService。一个Web Service文件的扩展名是:.asmx(就象asp.net的文件扩展名.aspx那样),文件的第一行是:      <%@ WebService Language="C#" class="SecurityWebSe...
标签: ASP
          怎样使用Web Service       现在我们能够使用这个Web Service了,让我们输入一个值获得一个假的价格。             点击Invoke按钮,将显示一个下面这样的新窗口和Xml文档。       &nbs...
标签: 电脑入门
    在QQ2003版中增加了一个共享文件夹的功能,可以让你和你的好友共享文件。但是它在给我们带来方便的同时,也给我们带来新的安全隐患。 比如个人秘密文 件的泄露问题,无限制连接下载导致机器速度变慢,甚至崩溃等等。这些隐患应该如何消除,怎样才能安全利用QQ的共享功能呢? 共享中的隐患 隐患1:共享的身份限制...

经验教程

227

收藏

36
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部