码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-04-11 11:57:13      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:blank   服务器   target   客户端   style   

[第一部分 环境介绍]

架构

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客户端证书(忽略/接受/必须)之一——服务器证书申请

标签:blank   服务器   target   客户端   style   

原文地址:http://mlxia.blog.51cto.com/972988/1631143

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!