[第一部分 环境介绍]
架构
1台CA(独立根CA)
1台IIS Server
1台客户端计算机
版本
所有的计算机OS均为Windows Server 2008 R2,所以IIS为7.0版本。
[第二部分 测试环境准备]
一 搭建一台CA Server
此部分内容相对简单,如果你是刚接触这方面的内容,可以我之前的文章,链接如下:
http://mlxia.blog.51cto.com/972988/1217914
注意:本次环境我再安装证书时选择的是独立根CA,与链接中的不同;其他均为默认设定,无特殊注意事项。
二 搭建一台IIS Server
此部分内容相对简单,如果你是刚接触这方面的内容,可以我之前的文章。
三 创建一个IIS的测试用站点
1. 打开IIS控制台,添加网站站。
2.输入站点名称和网页存放的物理路径。
3.上图中由于默认端口选的是80与默认站点冲突,因此站点无法启动(不要嫌我烦,做测试呢最重要是心平气和。)
4.重新编辑绑定,选择一个未被占用的端口。
关闭后,启动该站点。
二 为该IIS服务器申请证书
在申请前先将CA Server的根证书导入“所信任的根证书颁发机构”区域。此部分比较基础,不懂的可以参考我之前的博客,或者谷歌一下,到处都有相关的文档。
1.我们为服务器申请一张服务器证书。
2.创建证书申请。
这里我打算未来用IP地址访问站点,所以就这么写了,如果大家习惯用DNS Name也可以写成DNS name;另外也可以有办法申请多域名证书,实现无论我使用IP、NetBIOS或者DNS name都呢个正常访问网站。具体可以参考:http://mlxia.blog.51cto.com/972988/1217953
这事申请证书时需要提供的申请文件内容。
3.访问证书服务器web注册站点(http://CAServer/certsrv),“Request a certificate”。
4.advanced certificate request。
5.第二项,提交申请文件申请。
6.帮上面申请文件的内容Ctrl+A然后Ctrl+v到下图的第一个文本框中。
9.点击上图中的“Submit”。
10.来到CA服务器,手动颁发刚才申请的证书。(如果你使用的是企业根CA且IIS服务器加入域,那么这个审批会自动执行,无需人工参与)
11.看到被挂起的证书申请。
12.手动颁发申请。
13.查看已颁发的申请。
14.再回到IIS Server,访问CA Server证书申请站点。选择“View the status of a pending certificate request”
15.将证书下载下来。
17.保存后找到该证书,并双击打开。
18.再次回到IIS服务器,完成证书申请。
好记的名字无所谓写什么,只要不冲突,管理员能知道这个证书时干嘛的就行。
完成之后我们可以在IIS服务器的本地计算机证书中看到刚申请的证书。这里就很有意思了,想想看我们是不是也可以在这里为IIS Server申请证书呢,答案是当然的,我之前的博客里也有相关的内容,这里就不给链接了,要么自己思考如何完成,要么就翻博客吧。
三 IIS站点证书绑定
1.证书申请好了,那么就需要把证书与Web 站点进行绑定。
3.必须选择类型为https才可以选择证书。
5.哎,为什么访问不了呢;我也不清楚,但是我立即想到似乎这个网站还没有任何网页文件呢;可能是这个原因吧。
6.那么我们建立一个简单的html文件在d:\test01文件夹下。
7.再次访问。
8.仔细看看访问的信息
9.我们再来看看网站的SSL设定。
10.这个是默认设定。
默认情况下,IIS服务器不要求客户端证书。
11.那么我们看看勾选“要求SSL”的时候访问的情况。
忽略的意思是站点不会检查客户端的证书有没有,直接忽略。
12.我们把SSL客户端的设定设置为“接受”;再看看访问情况。
接受的意思是站点会检查客户端有没有证书,证书有没有效;如果客户端的检查结果为没有,那么站点就忽略客户端证书;如果检查为结果为有,那么站点服务器和客户端将使用这张客户端证书进行通讯。
13. 我们把SSL客户端的设定设置为“必需”;再看看访问情况。
14.为了解决上面的问题,我们需要申请一张客户端证书。
未完,待续……
下一篇:IIS SSL客户端证书(忽略/接受/必须)之二——客户端证书申请
IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请
原文地址:http://mlxia.blog.51cto.com/972988/1631143