Windows下基于IIS服务的SSL服务器的配置
Windows下基于IIS服务的SSL服务器的配置
实验环境
- Windows Server 2008 R1(CA)
- Windows Server 2008 R2(web服务器)
- Windows 7 x64(客户端)
- 3台虚拟机打开桥接模式,保证能够相互ping通
实验原理
- CA(根CA)负责为服务器颁发证书使得服务器证书可信。
- 服务器下载IIS组建,向CA申请一个SSL证书,并且将此证书与本机IP绑定。最后打开SSL服务。
- 客户端信任CA,因此可以安全地访问服务器网址。
实验步骤
安装证书服务
-
打开Windows Server 2008 R1,配置主机角色
-
在“开始”菜单中的管理工具中选择“服务器管理器”,选择“添加角色”,在服务器角色中选中“Active Directory证书服务”后,点击“下一步”。
-
在“角色服务”中选择“证书颁发机构”和“证书颁发机构Web注册”两项服务,点击“下一步”。
-
在“安装类型”中选择“独立”选项,安装一个独立根CA,点击“下一步”。
-
在“CA类型”中选择“根CA”选项,点击“下一步”。
-
在“私钥”中选择“新建私钥”选项,配置私钥,点击“下一步”。
-
在“私钥”中的“加密”配置中选择“SHA1”算法,配置加密方式,点击“下一步”。
-
在“私钥”中的“CA名称”配置中填写CA的公用名称,点击“下一步”。
-
在“私钥”中的“有效期”配置中选择“5年”,点击“下一步”。
-
在“证书数据库”中默认证书数据库位置和证书数据库日志位置,点击“下一步”。
-
成功配置独立根CA,点击“下一步”。
-
成功安装独立根CA。
Web服务器证书申请与配置
-
打开Windows Server 2008 R2
-
创建主机角色。在“开始”菜单中的管理工具中选择“服务器管理器”,选择“添加角色”,在服务器角色中选中“Web服务器(IIS)”后,之后全部默认配置。
(该过程与创建独立根CA时类似,不作过多描述。)
-
在“开始”菜单中的管理工具中选择IIS管理器,进入本机主页,选择“服务器证书”
-
在右侧选择“创建证书申请”,打开cmd查询本机IP,在通用名称处填本机IP,其他信息任意填写,填满后选择“下一步”,加密服务默认设置,再选择“下一步”。
-
文件名填成:“本机IP.cert.txt”格式,点击完成,可以在指定路径处看到txt文件。
-
打开浏览器,进入网址“http://CA的IP/certsrv”
-
在浏览器中选择“工具”,再选择“Internet选项”
-
选择“安全”,为Internet设置“自定义级别”,将图示部分勾选为启用。
-
选择“可信站点”,选择“站点”,点击“添加”,把CA站点添加到可信区域。点击确定完成设置。
-
选择“申请证书”,选择“高级证书申请”,选择图示选项。
-
将之前生成的txt粘贴至框内,选择“提交”。
-
提交后可以看到提交成功的界面
-
打开Windows Server 2008 R1(CA机),选择“开始”,打开管理工具中的“证书颁发机构”,点击“挂起的申请”,可以看到我们刚才发出的申请。右键该申请,并选择“所有任务”,“颁发”。
-
回到Windows Server 2008 R2(服务器机),重新进入网址“http://CA的IP/certsrv”,选择“查看挂起的证书申请的状态”,可以看到一个“保存的申请证书”,选择“DER编码”,并下载证书链。
-
将证书链保存至桌面,并且打开,安装两个证书。CA证书放在“受信任的根证书”下,服务其证书放在“个人”下。
-
选择“开始”,在对话框输入mmc,打开控制台。选择“文件”,“添加/删除管理单元”
-
在左侧区域找到“证书”,点击“添加”,在弹出的框中选择“计算机账户”,选择“下一步”后默认设置
-
在左边打开证书,进入“受信任的根证书颁发机构”的“证书”处,右键空白区域,选择“所有任务”,“导入”将证书链导入。
-
进入“IIS管理器”,选择“完成证书申请”,导入证书链并随意取一个名称。
-
右键网站,选择“编辑绑定”
-
选择“添加”,将类型改为“https”,IP地址选择本机IP,SSL证书选择我们刚才导入的证书(好记名称)
-
选择“SSL”设置,勾选“要求ssl”
-
至此完成web服务器证书的申请与配置
客户端证书申请及配置
-
打开Windows 7 x64(客户端)
-
要想让客户端访问web服务器,客户端浏览器必须信任独立根CA。
-
进入根CA证书申请界面“http://CA的IP/certsrv”
-
首先设置客户端浏览器安全级别以及可信站点。过程与服务器配置中相同
-
选择“下载CA证书、证书链或CRL”,选择“下载CA证书链”,按提示步骤将CA安装到”受信任的根证书颁发机构“下。
-
浏览器输入“http://web服务器IP”,发现提示访问被拒绝。
-
浏览器输入“https://web服务器IP”,成功访问服务器,说明此时web服务器已经配置成功。标志客户端与服务器之间成功通过SSL加密信道进行通信。