构建安全的Xml Web Service系列之SSL篇
原文:构建安全的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篇的更多相关文章
- 构建安全的Xml Web Service系列之wse之证书存储位置
原文:构建安全的Xml Web Service系列之wse之证书存储位置 我们在前几天对xml web service的安全性提出了一些建议,大家可以通过以下地址访问: 构建安全的Xml Web Se ...
- 构建安全的Xml Web Service系列之wse之错误代码详解
原文:构建安全的Xml Web Service系列之wse之错误代码详解 WSE3.0现在还没有中文版的可以下载,使用英文版的过程中,难免会遇到各种各样的错误,而面对一堆毫无头绪的错误异常,常常会感到 ...
- 构建安全的Xml Web Service系列之初探使用Soap头
原文:构建安全的Xml Web Service系列之初探使用Soap头 Xml Web Service 从诞生那天就说自己都么都么好,还津津乐道的说internet也会因此而进入一个新纪元,可5年多来 ...
- 构建安全的Xml Web Service系列之如何察看SoapMessage
原文:构建安全的Xml Web Service系列之如何察看SoapMessage 上一篇文章地址:构建安全的Xml Web Service系列一之初探使用Soap头 (5-22 12:53) ...
- C# 开发XML Web Service与Java开发WebService
一.web service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量 ...
- 深入学习Web Service系列----异步开发模式
概述 在本篇随笔中,通过一些简单的示例来说一下Web Service中的异步调用模式.调用Web Service方法有两种方式,同步调用和异步调用.同步调用是程序继续执行前等候调用的完成,而异步调用在 ...
- XML Web Service架构图
- WEB监控系列第三篇:graphite指南
一 使用说明 以下是喂数据的方式,但是在实际使用中我们使用statsd来喂数据,请参考我的第四篇文章:statsd指南 喂数据有三种方式: There are three main methods ...
- Web Service简介 内部资料 请勿转载 谢谢合作
1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求, ...
随机推荐
- ABP中动态WebAPI原理解析
ABP中动态WebAPI原理解析 动态WebAPI应该算是ABP中最Magic的功能之一了吧.开发人员无须定义继承自ApiController的类,只须重用Application Service中的类 ...
- TCP/UDP简介
TCP/UDP简介 Socket小白篇-附加TCP/UDP简介 Socket 网络通信的要素 TCP和UDP Socket的通信流程图 1.Socket 什么是Socket Socket:又称作是套接 ...
- hdu3240 Counting Binary Trees
Counting Binary Trees Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- WPF-20:richtextbox相关操作(转)
WPF中的richtextbox与winform中的richtextbox的使用不同,看看下面的基本操作: 一.取出richTextBox里面的内容 (1)将richTextBox的内容以字符串的形 ...
- 前后端分离Web项目中,RBAC实现的研究
在前后端分离Web项目中,RBAC实现的研究 最近手头公司的网站项目终于渐渐走出混沌,走上正轨,任务也轻松了一些,终于有时间整理和总结一下之前做的东西. 以往的项目一般使用模板引擎(如ejs)渲染 ...
- H3C TE老版本OSPF正确配置
R1配置: ---------------------------------------------------- # sysname RT1# super password level 3 cip ...
- Mac下配置Cocos2d-x3.1环境
一.前期准备 1.ADT:百度下就OK 2.NDK:百度下就OK 3.ANT: http://124.254.47.39/download/55152992/78533365/4/zip/57/132 ...
- 使用GraceNote Web API发展Mac发现音乐信息的应用
好久没有写博客,最近各种忙,特别忙里忙,今晚难得清闲.写最近完成下一个博客任务的摘要:使用GraceNote的Web API开发一个查询的音乐信息的应用,事实上,并在这些功能的前GraceNote S ...
- 屏蔽电信流氓广告造成的诡异的问题--Android WebView 长时间不能载入页面
发如今家里的时候用Android App里的WebView打开站点非常慢,会有十几秒甚至更长时间的卡住. 可是在电脑上打开相同的网页却非常快. 查找这个问题的过程比較曲折,记录下来. 抓取Androi ...
- Apache的Mesos和Google的Kubernetes 有什么区别?
Apache的Mesos和Google的Kubernetes 有什么区别?本文来自StackOverFlow上的一个问题,主要讨论Mesos和Kubernetes的区别,相信我们很多人也有同意的疑问. ...