IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

时间:2024-04-07 08:24:53
IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请 IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请
2015-04-11 10:41:45
Technorati 标记: IIS,CA,证书,SSL,客户端证书,夏明亮

[第一部分 环境介绍]

架构

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控制台,添加网站站。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

2.输入站点名称和网页存放的物理路径。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

3.上图中由于默认端口选的是80与默认站点冲突,因此站点无法启动(不要嫌我烦,做测试呢最重要是心平气和。)

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

4.重新编辑绑定,选择一个未被占用的端口。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

关闭后,启动该站点。

二 为该IIS服务器申请证书

在申请前先将CA Server的根证书导入“所信任的根证书颁发机构”区域。此部分比较基础,不懂的可以参考我之前的博客,或者谷歌一下,到处都有相关的文档。

1.我们为服务器申请一张服务器证书。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

2.创建证书申请。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

这里我打算未来用IP地址访问站点,所以就这么写了,如果大家习惯用DNS Name也可以写成DNS name;另外也可以有办法申请多域名证书,实现无论我使用IP、NetBIOS或者DNS name都呢个正常访问网站。具体可以参考:http://mlxia.blog.51cto.com/972988/1217953

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

这事申请证书时需要提供的申请文件内容。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

3.访问证书服务器web注册站点(http://CAServer/certsrv),“Request a certificate”。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

4.advanced certificate request。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

5.第二项,提交申请文件申请。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

6.帮上面申请文件的内容Ctrl+A然后Ctrl+v到下图的第一个文本框中。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

9.点击上图中的“Submit”。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

10.来到CA服务器,手动颁发刚才申请的证书。(如果你使用的是企业根CA且IIS服务器加入域,那么这个审批会自动执行,无需人工参与)

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

11.看到被挂起的证书申请。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

12.手动颁发申请。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

13.查看已颁发的申请。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

14.再回到IIS Server,访问CA Server证书申请站点。选择“View the status of a pending certificate request”

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

15.将证书下载下来。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

17.保存后找到该证书,并双击打开。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

18.再次回到IIS服务器,完成证书申请。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

好记的名字无所谓写什么,只要不冲突,管理员能知道这个证书时干嘛的就行。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

完成之后我们可以在IIS服务器的本地计算机证书中看到刚申请的证书。这里就很有意思了,想想看我们是不是也可以在这里为IIS Server申请证书呢,答案是当然的,我之前的博客里也有相关的内容,这里就不给链接了,要么自己思考如何完成,要么就翻博客吧。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

三 IIS站点证书绑定

1.证书申请好了,那么就需要把证书与Web 站点进行绑定。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

3.必须选择类型为https才可以选择证书。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

5.哎,为什么访问不了呢;我也不清楚,但是我立即想到似乎这个网站还没有任何网页文件呢;可能是这个原因吧。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

6.那么我们建立一个简单的html文件在d:\test01文件夹下。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

7.再次访问。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

8.仔细看看访问的信息

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

9.我们再来看看网站的SSL设定。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

10.这个是默认设定。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

默认情况下,IIS服务器不要求客户端证书。

11.那么我们看看勾选“要求SSL”的时候访问的情况。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

忽略的意思是站点不会检查客户端的证书有没有,直接忽略。

12.我们把SSL客户端的设定设置为“接受”;再看看访问情况。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

接受的意思是站点会检查客户端有没有证书,证书有没有效;如果客户端的检查结果为没有,那么站点就忽略客户端证书;如果检查为结果为有,那么站点服务器和客户端将使用这张客户端证书进行通讯。

13. 我们把SSL客户端的设定设置为“必需”;再看看访问情况。

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

14.为了解决上面的问题,我们需要申请一张客户端证书。

未完,待续……