作者:mikespook
版本:1.0
最后更新:2004-12-22 16:04
按部就班——图解配置IIS5的SSL安全访问... 1
写在前面的... 1
第一步: 准备工作... 1
第二步: IIS创建证书... 3
第三步: 向“证书颁发机构”申请证书... 8
第四步: 颁发证书... 10
第五步: 安装证书,配置SSL. 12
第六步: 完成... 14
写在前面的
这几天自己的商城写完了,准备搞搞IIS5的SSL访问。查了一圈资料,发现多数文章都如出一辙。虽然写得很详细,但是东一榔头,西一棒槌,让我摸不着头脑。罢!罢!罢!直接看帮助,学着配吧。没想到顺利得很,一遍搞掂。就此写文一篇,以帮助跟我有一样困惑的朋友。
在看本文之前我先和读者做一个约定。我假设你会使用鼠标和键盘,并且能够对Windows 2000 Server进行基本的操作(我只想在本文里说明如何配置IIS5的SSL安全访问,对于如何双击图标我不想涉及。)。同时你的计算机上也正确安装有 IIS和浏览器(这个是Windows 2000 Server的标准配置,如果你使用的是Windows 2000 Professional版本就不用阅读本文了,因为这个版本不支持IIS的SSL访问。)。
第一步: 准备工作
首先你应该有一台你自己的计算机,而且需要有鼠标、键盘或者你能够从其他具有鼠标键盘的计算机访问它。不要拿东西扔我,多数服务器是没有 鼠标和键盘的^_^。这台计算机应该安装有Windows 2000 Server或者Windows 2000 Advance Server。其他版本的Windows要么不支持IIS的SSL访问,要么就是跟本文讨论的配置方法有出入,比如Windows 2003的IIS6。
然后就是需要检查你的计算机有没有安装“证书服务”,如果已经安装了该组件,你可以跳过本步骤。
在“控制面板”à“添加/删除程序”中点击“添加/删除Windows组件”,找到“证书服务”,在其前面打钩。如图1。

注意,这个服务有两个子选项“证书服务Web注册支持”和“证书服务颁发机构(CA)”。为了方便期间,这两个功能都需要安装。

点击下一步,“Windows组件向导”会引导你完成该服务的安装。在安装过程中会出现“证书颁发机构类型”的选择,这里务必要选择独立根(图3)。当然,如果你是在域中的话,请不要继续阅读。因为那需要创建的是企业根或者企业从属根。

当完成了“证书服务” 的安装后,你的“控制面板”à“管理工具”中就会多出一个“证书颁发机构”这样一个图标。

准备工作到此结束。
第二步: IIS创建证书
完成了上面的准备,现在就可以让IIS来申请证书了。在“控制面板”à“管理工具”中进入“Internet 服务管理器”。鼠标右键点击你需要配置的站点,在弹出的菜单中选择“属性”(如果你跟我一样是左手使用鼠标,那就点击鼠标左键。)。这时就会打开如图5的 “属性”对话框。在“目录安全性”中点击“服务器证书”按钮(图6)。


这时就会有“IIS证书向导”来一步一步提示你完成证书的申请(图7)。

点击“下一步”选择“创建一个新证书”并继续(图8)。需要说名的是另外两种方式“分配一个已存在的证书”和“从密钥管理器备份文件导入一个证书”也可以正确的配置IIS的SSL访问,但是和本问所讲顺序有所不同,这里不再赘述。

继续创建证书,“选择现在准备请求,但稍后发送”。实际上你也只能选择这个选项,另外一个选项“立即发送请求到一个在线证书颁发机构”多 数情况下不可用(图9)。我也没有查到在什么时候可用,什么时候不可用的资料。个人猜测大概是在安装“证书服务”的时候如果选择了 XXXXXXXXXXXXX或XXXXXXXXXX,这里可能就可以直接申请。如果真是我猜测的这样,那后面那些麻烦的过程都可以略过不谈了。^_^

继续“下一步”,会要求你输入一个容易记忆的名称来标识你的证书。同时会要求你选择“位长”,实际上就是加密强度。“位长”越大,越安全。当然这是以牺牲性能为代价的(图10)。

接下来是输入组织和部门,这个将会出现在你的证书中,并且当他人查看你的证书的时候会显示出来(图11)。最好还是使用合法的名称,别伪 造别人的证书哦。比如我输入的组织是“mikespook & swill”,部门因为是为我的商城申请的,所以我输入“XYShop”。

在输入站点公用名称时要注意,最好是使用你将绑定的域名。否则在别人访问你的站点,弹出证书确认对话框时,会有一个名称不匹配的提示(图12)。

接着是输入地理信息(图13)。

最后一步就是将生成的证书保存下来,以备后用(图14、图15、图16)。



这时在C盘根目录下就保存了一个由BASE64编码的证书文件certreq.txt。当然,如果你在保存证书(图14)的时候选择了其他路径,则有所不同了。
第三步: 向“证书颁发机构”申请证书
看到“证书颁发机构”不用紧张,我们不是要跟什么权威部门打交道,更不需要准备什么申请公文之类的烦琐文档。因为在第一步安装的“证书服务”就是我们的“证书颁发机构”。
在浏览器中输入地址http://localhost/CertSrv/会打开“Microsoft 证书服务”页面(图17)。选择申请证书,点击按钮“下一步”。

在“选择申请类型”的时候应该选择“高级申请”,以便导入在第二步时生成的IIS证书(图18)。

因为在第二步保存的那个证书文件是BASE64编码的,所以我们应该选择“使用BASE64编码的PKCS #10文件提交一个证书申请,或使用BASE64编码的PKCS #7文件更新证书申请”(图19)。

“CTRL+A”、“CTRL+C”、“CTRL+V”这是每个使用MS操作系统的人都该熟记于心的“宝典”。用此“宝典”将第二步中生成的那个文件的内容复制于图20所示文本框中。

这时你就会收到“证书挂起”的通知,这就意味着你的证书已经被提交了(图21)。

第四步: 颁发证书
完成了申请证书,证书就被提交到了“证书颁发机构”。呵呵,赶紧自己给自己办法一个证书吧。
进入“控制面板”à“管理工具”打开图3所示的“证书颁发机构”,打开左边的“证书颁发机构(本地)”那棵树,并找到“待定申请”(图22)。

查看右边的列表,刚才提交的证书申请赫然在目(图23)。还等什么?还不赶紧通过?

在待申请的证书上单击鼠标右键,弹出菜单中有“所有任务”一项,选择子项“颁发”。这时这个“待定申请”就会转移到“颁发的证书”下面。
在“颁发的证书”下找到刚才那个证书,双击打开。并在“证书”à“详细信息”中选择“复制到文件”(图24)。

在“证书导出向导”中,任意选择一种CER格式导出,比如“DER 编码二进制”(图25)。并保存成文件。

OK,到此,我们又完成一个里程碑。^_^
第五步: 安装证书,配置SSL
现在回到IIS属性下面的那个“IIS证书向导”那里(忘了?看看图7)。这时的“下一步”已经变成了“挂起的证书请求”(图26)。自然是选择“处理挂起的请求,并安装证书”了。

选择刚才在图22中导出的CER文件(图27)。

一路“下一步”完成证书的安装。这时证书就安装好了。
安装好证书之后原先不可以使用的“编辑”按钮被激活(图28),点击“编辑”按钮打开“安全通信”对话框。

在“安全通信”对话框中将“申请安全通信(SSL)”前面的勾选中(图29)并确定。

在IIS的属性对话框的“Web站点”下找到“SSL端口”,你会发现原先不可使用的文本框现在可以录入了。将文本框内容设置为433后“确定”(图30)。

第六步: 完成
现在你分别用http(图30)和https(图31)方式去访问你刚才配置过的站点,看看有什么不同。


恩,OK,完成了。只要你按部就班的如此操作,配置IIS的SSL访问易如反掌。呵呵~^_^