SSL原理及应用(2)配置HTTPS
HTTPS(Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即在HTTP下加入SSL层,HTTPS的安全基础是SSL。它是一个URI scheme(抽象标识符体系),句法类同“http:体系”。用于安全的HTTP数据传输。“https:URL”表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。简单的HTTPS通信过程如图所示。
HTTPS基本通信流程
但是对于Web服务器而言,想要支持HTTPS通信,必须要从证书服务器下载并安装证书。服务器可以从证书提供商或者自己搭建的证书服务器获取证书。下面以IIS为例,为Web通信添加HTTPS支持。
配置IIS5.0/IIS6.0支持HTTPS
步骤1 进入网站属性选择目录安全性,单击服务器证书,然后单击下一步,如图8-7所示。
图8-7打开服务器证书向导
步骤2 选择指派证书的方法。
这里选择新建证书,然后单击下一步。如图8-8所示。
图8-8 择指派证书方法
步骤3 延迟请求证书,如图8-9所示。
图8-9 延迟请求证书
步骤4 输入证书名称和密钥长度。
如果勾选“选择证书的加密提供程序”会出现当前系统提供的加密提供程序供我们选择,如果不选择是默认。如图8-10所示。
图8-10 输入证书名称和密钥长度
步骤5 设置站点的公用名称,如图8-11所示。
图8-11 设置站点公用名称
步骤6 设置证书颁发机构的基本信息。如图8-12所示。
图8-12 设置证书颁发机构信息
步骤7 这是关键的一步,把前几步设置的基本信息合并成证书请求文件,用于从证书服务器请求证书。如图8-13、图8-14所示。
图8-13 填写证书请求文件名
图8-14 生成证书请求文件
步骤8 完成向导,如图8-15所示。
图8-15 完成证书向导
步骤9 从证书提供商的服务器申请证书。
图8-16为某提供商要求输入的基本信息。这一步会要求我们输入第7步中生成的证书请求文件的内容。
图8-16 申请证书
步骤10 根据提示下载证书。
步骤11 继续配置IIS下的证书,进入网站属性的目录安全性,单击服务器证书。选择“处理挂起的请求并安装证书”。如图8-17所示。
图8-17 处理挂起的请求
步骤12 载入我们下载的证书,如图8-18所示。
图8-18 载入证书
步骤13 指定网站的SSL端口。
默认的SSL端口为443,不需要更改。如图8-19所示。
图8-19 指定SSL端口
步骤14 安装证书。如图8-21所示。
图8-20 安装证书
步骤15 对需要启用HTTPS访问的站点启用SSL安全通道。依次进入网站属性→目录安全性→编辑,然后在图8-21所示的对话框中启用SSL。
图8-21 对网站启用SSL
注意勾选“要求128位加密”时,如果浏览器不支持该加密方式将无法访问。
至此,IIS已经完全支持HTTPS的加密连接的访问。
配置IIS7支持HTTPS
IIS7中的配置过程和IIS5/IIS6略有不同,但是更为简洁。
步骤1 获取服务器证书。过程和IIS6基本相同,不再赘述。
步骤2 打开IIS服务管理器,单击计算机名称,双击打开右侧的服务器证书图标,如图8-22所示。
图8-22 打开服务器证书管理项
步骤3 双击打开服务器证书后,单击右侧的完成证书申请,如图8-23所示。
图8-23 打开完成证书申请
步骤4 导入我们申请的证书,并指定一个好记的名称(可选),单击确定。如图8-24所示。
图8-24 导入证书
步骤5 单击网站下的站点名称,单击右则的绑定,如图8-25。弹出网站绑定对话框,单击添加按钮,如图8-26。
图8-25 选择网站
图8-26 添加绑定
步骤6 添加网站绑定内容:选择类型为https,端口443和指定对应的SSL证书,单击确定。如图8-27。添加完成后如图8-28所示。
图8-27 添加绑定内容
图8-28 网站绑定信息
按照以上步骤配置完成后,站点就支持https://*的方式访问了。
1) 下面我们配置网站“要求SSL”。
2) 在网站的功能视图,双击“SSL”设置。
3) 在“SSL 设置”页上,选择“要求SSL”。
4) 在“操作”窗格中,单击“应用”。如图8-29所示。
图8-29 要求使用SSL
在图8-29中,我们可以看到这里有关于客户证书的选项,通过这个选项我们可以忽略、接受或者必须要求提供客户证书。
若要禁用客户端证书,只需在图8-29的界面上去掉“要求SSL”的选项即可。
---------------------注:本文部分内容改编自《.NET 安全揭秘》