采用SSL实现加密传输〔转〕

转自李天平作品:http://book.51cto.com/art/200906/129770.htm

7.9.2  采用SSL实现加密传输(1)

在默认情况下,IIS使用HTTP协议以明文形式传输数据,Web Service就是使用HTTP协议进行数据传输的。Web Service传输的数据是XML格式的明文。没有采取任何加密措施,用户的重要数据很容易被窃取,如何才能保护网络中传递的这些重要数据呢?

SSL(Security Socket Layer)的中文全称是加密套接字协议层,它位于HTTP协议层和TCP协议层之间,用于建立用户与服务器之间的加密通信,确保所传递信息的安全性,同时SSL安全机制是依靠数字证书来实现的。

SSL基于公用密钥和私人密钥,用户使用公用密钥来加密数据,但解密数据必须使用相应的私人密钥。使用SSL安全机制的通信过程如下:用户与IIS服务器建立连接后,服务器会把数字证书与公用密钥发送给用户,用户端生成会话密钥,并用公共密钥对会话密钥进行加密,然后传递给服务器,服务器端用私人密钥进行解密,这样,用户端和服务器端就建立了一条安全通道,只有SSL允许的用户才能与IIS服务器进行通信。

注  意 SSL网站不同于一般的Web站点,它使用的是"HTTPS"协议,而不是普通的"HTTP"协议。因此它的URL(统一资源定位器)格式为"https://网站域名"。

下面讲解如何使用SSL来增强IIS服务器和Web Service的通信安全。

实现步骤如下。

1.为服务器安装证书服务

要想使用SSL安全机制功能,首先必须为Windows Server 2003系统安装证书服务。进入"控制面板",运行"添加或删除程序",接着进入"Windows组件向导"对话框,如图7-13所示。

132429959.jpg 
图7-13  Windows组件向导

勾选"证书服务"选项,单击"下一步"按钮。

接着选择CA类型。这里选择"独立根CA"选项,如图7-14所示。单击"下一步"按钮,为自己的CA服务器起名,并设置证书的有效期限,如图7-15所示。

132449372.jpg 
图7-14  选择CA类型
132540460.jpg 
图7-15  设置CA信息
最后指定证书数据库和证书数据库日志的位置,如图7-16所示,单击"下一步"按钮。

132614386.jpg 
图7-16  指定证书数据库
因为需要复制系统文件,所以需要插入Windows的安装光盘,如图7-17所示。安装证书服务需要停止当前的IIS运行,所以要单击"是"按钮。
132637500.jpg 
图7-17  复制系统文件
最后,显示完成了证书服务的安装,单击"完成"按钮,如图7-18所示。
132704984.jpg 
图7-18  安装完成

 

 

 

7.9.2  采用SSL实现加密传输(2)

2.配置SSL网站

1)创建请求证书文件

要想让Web Service使用SSL安全机制,首先需将Web Service配置为网站。然后为该网站创建请求证书文件。

依次单击"控制面板"→"管理工具"按钮,运行"Internet 信息服务(IIS)管理器",在管理器窗口中展开"网站"目录,用鼠标右键单击要使用SSL的Web Service网站,在弹出的快捷菜单中选择"属性"命令,在网站属性对话框中切换到"目录安全性"选项卡,如图7-19所示,

133002558.jpg 
图7-19  网站属性

然后单击"服务器证书"按钮,弹出"IIS证书向导"对话框。

在"IIS证书向导"对话框中选择"新建证书"选项,单击"下一步"按钮,如图7-20所示。

133028502.jpg 
图7-20  服务器证书
选择"现在准备证书请求,但稍后发送"选项。单击"下一步"按钮,如图7-21所示。
133106428.jpg 
图7-21  证书向导
在"名称"输入框中为该证书取名,然后在"位长"下拉列表中选择密钥的位长(默认为1024,长度越长保密性越好,但性能会越差)。单击"下一步"按钮,如图7-22所示。
133128708.jpg 
图7-22  设置证书名称
设置单位信息,如图7-23所示,然后单击"下一步"按钮。设置公共名称,如图7-24所示。
133204481.jpg 
图7-23  设置单位信息
133220782.jpg 
图7-24  设置公共名称

注  意 公共名称必须输入为访问站点的域名,例如要想用地址https://www.maticsoft.com访问Web Service,则此处必须填写为"www.maticsoft.com",否则将提示使用了不安全的证书,导致站点无法访问。并且切记,www.maticsoft.comwww.maticsoft.com:8001 带端口的访问也是不同的,如果设置的是www.maticsoft.com,则网站设置为www.maticsoft.com:8001来访问也是无法使用的。

然后,单击"下一步"按钮,设置国家地区,如图7-25所示。

133250513.jpg 
图7-25  设置国家地区

设置证书的单位、部门、站点公用名称和地理信息,一路单击"下一步"按钮。

最后指定请求证书文件的保存位置。这样就完成了请求证书文件的创建。

 

 

7.9.2  采用SSL实现加密传输(3)

2)申请服务器证书

完成上述设置后,还要把创建的请求证书文件提交给证书服务器。

在服务器端的IE浏览器地址栏中输入"http://localhost/CertSrv/default.asp"。

在"Microsoft  证书服务"欢迎窗口中单击"申请一个证书"链接,如图7-26所示。

接下来在证书申请类型中单击"高级证书申请"链接,如图7-27所示。

133412773.jpg 
图7-26  申请证书
133442865.jpg 
图7-27  选择证书类型
然后在高级证书申请窗口中单击"使用base64编码的CMC或PKCS#10……"链接,如图7-28所示。
133510488.jpg 
图7-28  选择编码

接下来在新打开的窗口中,打开刚刚生成的"certreq.txt"文件,将其中的内容复制到"保存的申请"中,如图7-29所示。

133540224.jpg 
图7-29  提交证书申请
单击"提交"按钮,显示"证书挂起"页面,如图7-30所示。

133604495.jpg 
图7-30  证书挂起

 

 

 

7.9.2  采用SSL实现加密传输(4)

3)颁发服务器证书

提交证书申请以后,还需要颁发服务器证书。依次选择"开始"→"设置"→"控制面板",双击"管理工具",再双击"证书颁发机构",在打开的对话框中选择"挂起的申请"选项,如图7-31所示。

1339270.jpg 
(点击查看大图)图7-31  挂起的申请

找到刚才申请的证书,然后用鼠标右键单击该项,在弹出的快捷菜单中选择"所有任务"→"颁发"命令,如图7-32所示。

颁发成功后,选择"颁发的证书"选项,双击刚才颁发的证书,在弹出的"证书"对话框中的"详细信息"标签页中,单击"复制到文件"按钮,如图7-33所示。

1339271.jpg 
图7-32  颁发证书
1339272.jpg 
图7-33  复制到文件
弹出"证书导出向导"对话框,连续单击"下一步"按钮,选择"Base64编码X.509"选项,如图7-34所示。
1339273.jpg 
(点击查看大图)图7-34  选择导出文件格式

单击"下一步"按钮,并在"要导出的文件"对话框中指定文件名,最后单击"完成"按钮。

4)安装Web服务器证书

重新进入IIS管理器的"目录安全性"标签页,单击"服务器证书"按钮,弹出"挂起的证书请求"对话框,选择"处理挂起的请求并安装证书"选项,单击"下一步"按钮,如图7-35所示。

1339274.jpg 
(点击查看大图)图7-35  处理挂起的证书
指定刚才导出的服务器证书文件的位置,如图7-36所示。
1339275.jpg 
(点击查看大图)图7-36  选择导出位置
接着设置SSL端口,使用默认的"443"即可,最后单击"完成"按钮。

 

 

 

7.9.2  采用SSL实现加密传输(5)

5)配置网站启用SSL通道

在网站属性"目录安全性"标签页中单击安全通信栏的"编辑"按钮,然后,勾选"要求安全通道(SSL)"选项,如图7-37所示。

134245564.jpg 
(点击查看大图)图7-37  启用网站SSL通道

忽略客户端证书:选择该选项可以允许用户不必提供客户端证书就可访问该站点。

接受客户端证书:选择该选项可以允许具有客户端证书的用户进行访问,证书不是必需的。具有客户端证书的用户可以被映射;没有客户端证书的用户可以使用其他身份验证方法。

要求客户端证书:选择该选项则仅允许具有有效客户端证书的用户进行连接。没有有效客户端证书的用户被拒绝访问该站点。选择该选项从而在要求客户端证书前,必须选择"要求安全通道(SSL)"选项。

最后单击"确定"按钮,即完成启用SSL了。在完成了对SSL网站的配置后,用户只要在IE浏览器中输入"https://网站域名"就能访问该网站。

注  意 

勾选上SSL后,必须用HTTPS来访问,而访问网站的端口也会使用SSL端口,默认为443。

如果在你访问站点的过程中出现无法正常访问的情况,那么请检查服务器防火墙是否禁止对SSl端口443的访问,这点比较容易被忽视,当然你也可以自己修改端口。

如果还是不能访问,出现提示"你试图从目录中执行 CGI、ISAPI 或其他可执行程序,但该目录不允许执行程序。HTTP错误403.1-禁止访问:执行访问被拒绝。"那么请检查网站主目录的执行权限,将执行权限设置为纯脚本即可,如图7-38所示。

134320192.jpg 
图7-38  设置执行权限

6)客户端安装证书

如果IIS服务器设置了"要求客户端证书",则其他机器或用户想通过HTTPS访问和调用该Web服务,就需要将CA的根证书导入到客户端证书的可信任机构中,客户端才可以正常访问Web服务。

(1)选择"开始"→"运行"命令,在弹出的对话框中输入"mmc",出现如图7-39所示的界面。

134355623.jpg 
图7-39  启动控制台
(2)选择"文件"→"添加/删除管理单元"命令,出现如图7-40所示的界面。
134418560.jpg 
图7-40  添加/删除管理单元

(3)单击"添加"按钮,在可用独立管理单元列表中选择"证书"选项,出现如图7-41所示的界面。

(4)选择"计算机账户"选项,单击"下一步"按钮,选择"本地计算机"选项,然后依次单击"完成"→"关闭"→"确定"按钮。

134459847.jpg 
图7-41  添加证书管理单元
进入当前用户的证书管理单元,界面如图7-42所示。
134529282.jpg 
(点击查看大图)图7-42  选择证书导入位置
选中"个人"下的"证书节点"选项,单击鼠标右键,在弹出的快捷菜单中选择"所有任务"→"导入"命令,如图7-43所示。
134554362.jpg 
(点击查看大图)图7-43  导入证书
选择我们刚才颁发的服务器证书cert.cer,将其导入到个人的存储位置,导入后如图7-44所示。
134634818.jpg 
(点击查看大图)图7-44  导入到证书


7)SSL的优点与缺点

优点:它对Web服务提供的数据完整性没有任何影响,当值返回给客户时,值还是保持原样,并没有因在传输过程中使用了加密技术而发生变化。

缺点:它对站点的整体性能有影响,因为它需要进行很多加解密的数据处理。

转载于:https://www.cnblogs.com/291099657/archive/2009/09/29/1576071.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值