可以通过两种方式获取服务器证书。可以颁发自己的证书,或者从证书颁发机构获得证书。下列步骤解释如何在服务器上实施证书。有关证书的详细信息,请参阅关于证书。
要点 保护好证书和密钥对非常重要;必须将它们备份到磁盘并保存在安全的地方。
发布自己的服务器证书当决定是否颁发自己的服务器证书时需考虑下列问题:
注意
从证书颁发机构获取服务器证书
如果正在替换当前的服务器证书,IIS 将继续使用原有证书,直到完成新的请求。
选择证书颁发机构时,请考虑下列几方面的问题:
要获取支持 Internet 信息服务的证书颁发机构的最新列表,请访问 Microsoft Security Advisor 网站。在 By Category(按类别)列表中,选择 Certification Authority Services(证书颁发机构服务)。
注意 在处理请求或颁发证书之前,某些证书颁发机构要求您证明自己的身份。
注意 如果某服务器证书是通过 Internet 信息服务管理单元中的“证书向导”分配到服务器的,那么发送对此服务器证书的联机请求时,可能会将分配给证书颁发机构 (CA) 的证书安装到服务器上。文件夹“颁发的证书”将显示颁发给服务器的证书,但是证书实际上是颁发给 CA 的。
要解决此问题,请在创建证书请求时脱机工作。在“证书向导”中选择“现在准备请求,但稍后发送”,不要选择“立即将证书请求发送到联机证书颁发机构”。
在以前的 IIS 版本中,使用“密钥管理器”对服务器证书进行备份。而在此 IIS 版本中,“Web 服务器证书向导”替换了“密钥管理器”。因为 IIS 与 Windows 关系密切,所以可以使用“证书管理器”工具导出或备份服务器证书。
备份服务器证书注意 如果没有在 MMC 中安装证书管理器,则需要安装。
要点 不要选中“如果导出成功,删除密钥”复选框,因为这将禁用当前服务器证书。
如果已经在 MMC 中安装了“证书管理器”,它将指向正确的“本地计算机”证书存储位置。
由于 IIS 5.1 使用服务器证书的方式有所改变,因此升级到 Microsoft Windows XP 之后,在删除和重新分配服务器证书时可能会遇到困难。要解决此问题,请使用下列 Visual Basic 脚本更改配置数据库设置并删除证书,然后可以使用 IIS 中的“网站证书向导”重新分配证书。
'将计算机名设置为计算机名称或 localhost
Set PathObj = GetObject("IIS://" & MachineName & "/w3svc")
PathObj.PutEx 1, "SSLCertHash", ""
PathObj.PutEx 1, "SSLStoreName", ""
PathObj.Setinfo