日期:2011-04-04  浏览次数:20793 次

配置 IIS 4.0 证书鉴定

Ramon Ali
Windows NT杂志 - 1999 年2月


使用证书服务器1.0(Certificate Server 1.0)来作为证书权威

如果你能赋予可信用户透明地访问加密网站的权限,岂不是很好?这样的话,每当这些用户在进入你的站点的时候,就不必总是需
要输入他们的用户名和口令了。用户可以同你的网站上的加密部分进行通信,而无须提供用户名和口令的一个方法是,在配置IIS
(Internet Information Server,互连网信息服务器)要求质询/响应认证之后,在Windows NT系统上使用IE浏览器。但如果你
的用户使用的并不是NT系统或IE浏览器,那又该怎么办呢?答案就是:使用Microsoft Certificate Server(微软证书服务
器)。

Certificate Server 是 NT 4.0 Option Pack 的组成部分之一,它使你能够为那些身份验证合格的用户生成并发放数字证书,
从而使他们在登录站点时可以不必提供身份证明就可以访问自己的NT用户帐号。

数字证书对于网络的安全性非常重要。数字证书实际上是一份电子文档,计算机系统可以利用它来确定和验证那些正在浏览网络,
收发电子邮件和传输文件的用户的身份。获取数字证书的一条途径是通过证书权威。这些机构通过核实用户的身份而向他们或他们
的系统颁发证书。证书服务器(Certificate Server)让你充当企业内部的证书权威的角色,使你能够保护员工的机密性,削减
开支并提高服务质量。(想获得关于证书权威和数字证书的背景信息,请参阅1997年10月期上Tao Zhou的文章"You Can Be a
Web Certification Authority")

然而不幸的是,查找有关配置证书服务器的有价值文档相当困难。在TechNet和微软网站上,你或许能找到零星的只字片语,但这
些粗略的材料往往使你不能很快就弄明白。所以在本文中,我将和你一起一步步地演示我所了解的安装和配置证书服务器的过程,
包括怎样安装证书服务器,启动证书权威服务和颁发客户证书。

起点

首先,你需要安装IIS4.0,Microsoft Management Console (MMC,微软管理控制台)和Certificate Server 1.0。这些都包含
在微软Windows NT 4.0 Option Pack的CD-ROM光盘上。微软公司在它的站点(http://www.microsoft.com/china/)上发布了用
于修正Certificate Server1.0缺陷的最新补丁。该缺陷导致当系统同时允许证书和匿名访问时,没有证书的用户会被挡在站点之
外。根据我使用证书服务器的经验,你其实并不需要这个补丁。因为当你配置访问许可方式时,你可以避开这个问题。这点后面我
将解释。(但是,我不幸还遇到其他一些错误,而目前还没有针对它们的补丁程序。)

从Option Pack CD-ROM光盘上安装证书服务器。如果你已经安装了证书服务器而只是还不能让它正常运行,我将告诉你一个秘
诀。当证书服务器的安装过程提示你在安装窗口中输入CA(Certificate Authority,证书权威)的具体信息时,如屏幕1所示,


屏幕1

如果你在State域中不输入CA姓名,IIS就不能在它的数据库中正确的注册这个CA,导致证书服务器不会接受带这个CA签名的客户证
书。如果你碰到了这个问题,你必须重新安装证书服务器。然而,当你重新安装证书服务器时,可能会收到下面两条错误信息中的
一条--证书服务器配置向导(Configuration Wizard)错误或Windows NT安装错误。在所有我碰到的情况下,这些信息仅仅表明
文件csback.gif, csbull.gif, 和cslogo.gif没有从Certificate Server 的根目录 (通常是 C:\winnt\system32
\certsrv) 拷贝到CertEnroll 子目录下。如果你收到这些错误信息,不妨手工完成这些文件的拷贝。

从NT的控制面板中服务项中启动证书权威(Certificate Authority)服务。如果服务不能启动,问题可能是服务器找不到
Microsoft Access 数据库certmdb.mdb。不知道什么原因,证书服务器安装时将ODBC(Open Database Connectivity,开放式
数据库连接)系统数据源名称(Data Source Name)指向证书服务器根目录,而同时在CertAdm子目录中的 global.asa 文件中却
将其指向C:\winnt\system32 目录。而实际上证书服务器r 安装时将certmdb.mdb 文件放在C:\winnt\system32目录下。所以,
需要修改CertSrv 系统数据源名称 (从控制面板, ODBC项中),使其指向certmdb.mdb 文件, 如屏幕2所示。这样,你的CA 服务
就业已就绪,可以运行了。


屏幕2

设置CA

Certificate Server 安装程序将提示为服务器创建一个SSL (Secure Sockets Layer,安全套接层) 密匙。SSL 服务器密匙允
许网络服务器和客户浏览器进行安全加密的会话。如果没有SSL 密匙, IIS 4.0将无法使用基于证书的客户验证。在Create New
Key(创建新密匙)对话框中通过选择"Automatically send the request to an online authority(自动将申请发送到某在
线权威)"选项,你可以一次生成并签名SSL服务器密匙请求,如屏幕3所示。


屏幕3

如果你选择生成一个密匙请求文件,可以利用证书服务器的命令行实用工具certreq.exe验证这个文件。 (你可以用此文件从第三
方CA那里获得一个服务器密匙签名。) 当你获得一把带有签名的密匙时,证书服务器安装就大功告成了。

现在,你必须把你刚创建的CA增加到服务器的可信CA列表中去。通过在你的浏览器中安装服务器密匙可以做到这点。为此,启动服
务器上的IE 4.0 ,浏览站点http://server name/certsrv/certenroll/cacerts.htm。标题为Certificate Authority
Certificate List 的网页将会出现,并将列出你刚生成的CA密匙。点击此连接并选择"Open this file from its current
location(在当前位置打开此文件)",你将看到安装New Site Certificate(新站点证书)的提示,如屏幕4所示。



屏幕4

点击View Certificate, 确证密匙细节输入无误,然后点击OK。你将看到另一提示询问你将此证书增加到顶级储藏中,点击OK。
在IE 4.0中选择View菜单,依次选择Internet Options, Content, Authorities,检查IE 4.0是否已经成功地把证书增加到可信
权威列表中了。你将看到刚生成的CA处于IE 4.0的证书权威列表中,如屏幕5所示。



屏幕5

最后,在IIS安装的根目录下(通常是C:\winnt\system32\inetsrv)运行下面的命令。这些命令将利用用你生成的CA的详细数据更
新IIS 数据库:

Iisca

Net stop iisadmin /y

Net start w3svc

颁发客户证书

现在你可以开始颁发客户证书了。客户证书将直接安装在浏览器上。(Netscape 和Microsoft公司的新浏览器都支持客户证书;
但是,我将着重讲IE 4.0。)从客户端浏览http://server name/certsrv/certenroll/ceenroll.asp。Certificate
Enrollment Form(证书登记表)将让你填写客户证书的各个细节。正确填写各项并点击Submit Request(提交要求)。当提交要
求时,将调用IE 4.0的Web Server Enrollment Page(服务器的登记页)。在该页面上点击Download(下传)就能把客户证书安
装到浏览器上。选择View菜单,依次选择Internet Options, Content, Personal,可以检查客户证书是