CA证书服务器重命名

声明:本文转载自gnaw0725.blogbus.com,更新网址:http://gnaw0725.blog.51cto.com。

         CA证书服务器重命名。有一台域控制器和一台OCS服务器,域控制器上部署了CA证书颁发机构,现在是我需要将CA迁移到一台成员服务器上,我将CA备份之后,在域控制器上删除CA证书机构,然后在一台成员服务器上恢复CA备份(注:使用备份的CA私钥安装CA组件),我发现这样做也可以正常申请和验证证书,因为我原有域控制器和恢复CA的服务器计算机名不相同,我看到微软官方上说不能恢复备份到不同计算机名的服务器上了,我想确认这个操作是否可行?(注:Windows 2003 的域控制器)

      我测试将CA备份恢复到另一台用虚拟机做的服务器,我做了两个测试,一个恢复到新虚拟机上相同计算机名的成员服务器(把原来CA服务器关闭掉),一个恢复到新虚拟机上不同计算机名的成员服务器上,我发现恢复之后都无法通过Web页面去申请证书,打开创建新的证书申请页面时弹出:找不到任何证书模板。您没有从该CA申请证书的权限,或者在访问Active Directory时发生错误。请问如何解决这个问题?

回答:根据您的描述,我的理解是您希望获得有关于如何将CA迁移到不同名称的服务器上的信息。首先让我们开看CA在不同名称的服务器之间移动这个问题。我们确实是不推荐您将CA迁移到一台不同名称的服务器,但是如果我们必须将其迁移到不同名称的服务器上,我们需要在完成KB298138中的步骤之后,继续如下的步骤来保证用程序可以访问CA中存储的CRL和AIA信息。
1. 如果满足下列条件,我们需要运行命令certutil.exe -dspublish来停止已发布的AIA和CRL信息。
? 原始的CA是企业CA。
? 客户端只能通过LDAP URLS访问发布的AIA和CRL数据。
? 新的CA与原始的CA不在同一森林。

2.如果下列的条件成立,我们需要添加新的CDP/AIA扩展(这样新的CA会继续发布原始的CDP/AIA信息)
? 原始的CA是企业CA。
? 客户端只能通过LDAP URLS访问发布的AIA和CRL数据。
? 新的CA与原始的CA不在同一森林。

我们可以参考如下的步骤添加新的CDP/AIA扩展:
1). 在新的CA上打开CA控制台。
2). 右击CA节点,选择属性。
3). 在属性页面,选择扩展栏。
4). 添加所需的授权信息。

请您注意,具体的配置依赖于原始CA的扩展配置,如果原始的CA使用默认的扩展设置,我们可以参考这些步骤:

a). 添加新的CRL扩展分布点:ldap:///CN=CATruncatedNameCRLNameSuffix,CN=OriginalServerShortName,CN=CDP,CN=Public Key Services,CN=Services,ConfigurationContainerCDPObjectClass.
b). 将OriginalServerShortName替换为原有的CA的主机名称。
c). 在高亮的新位置,选择发布CRLs到这个新位置,发布Delta CRLs到这个新位置。
d). 添加额外的授权信息或是CRL扩展分布点。
e). 验证新的CA可以将CRLs发布到新的位置。

3. 如果原始的CA将AIA和CRL数据发布到HTTP URLs以及客户端在验证证书链和CRL数据时可以访问HTTP URL,我们需要手动发布AIA和CRL数据带原始的web服务器或是添加一条DNS记录将指向原始的HTTP URL执行新的CA服务器的HTTP URL。

4. 在新的CA服务器上,我们需要确定新的证书会拿到与新的CA服务器名称关联的CDP/AIA信息。
1). 验证CA服务器名称被注册到了如下的位置:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\CAName\
2). 验证CACertPublicationURLs 和 CRLPublicationURLs的值都是多个crl串组成,并且都位于HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\CAName\之下。

这样,我们就可以在不同名称的服务器之间迁移CA了。不过,虽然我们可以使用如上的步骤将CA迁移至不同名称的服务器,我们仍然建议您将其迁移至同名的服务器。

接着让我们来看您的实验结果,因为我们通过web申请证书的时候遇到了没有找到证书模板这个错误,而通常情况下这个问题可能由以下的几个问题所引起:
CA本身存在错误,即我们的安装没有完全成功。
CA模板的权限丢失。

为了更好的对这个问题进行分析,首先请您帮我收集如下的信息:
1. 我们是否可以通过MMC控制台来申请证书?
2. 当我们使用web申请证书的时候,我们可以看得证书模板的列表吗?

与此同时,请您参考如下的步骤来修复这个问题:
1. 检查CA服务器的权限:
1) 在cA服务器上,点击Start -> Administrative Tools -> Certification Authority。
2) 右击CA节点,选择Properties。
3) 点击Security标签,确保Authenticate Users有申请证书的权限。
2. 在IIS中检查CertSrv Virtual Directory的认证设定:
1) 在CA服务器上,打开IIS控制台。
2) 定位到CertSrv 站点,右击选择Properties。
3) 点击Directory Security选项卡,然后点击Authentication and access Control按钮。
4) 确定anonymous access没有被启用。如果被启用了,请您将其禁用,然后重新IIS。
3. 在AD中检查Certificate Templates的权限:
1) 首先检查Authenticated Users对于如下的对象是否有read的权限:
"CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=<Domain Component>,DC=<Domain Component>"

我们可以参考这些步骤:

a) 运行ADSIEDIT.MSC命令。
b) 地位到如下的节点:CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=<Domain Component>,DC=<Domain Component>
c) 右击CN=Certificate Templates,然后选择Properties。
d) 点击安全选项卡,确定Authenticated Users有read的权限。
e) 点击CN=Certificate Templates节点,我们应该会看到所有的证书模板的列表。
f) 双击我们想要使用的证书模板,在安全选项卡中,确定Authenticated Users有Read和Enroll的权限。
2) 然后检查我们是否还有这个问题。

Alex Yu

你可能感兴趣的:(职场,休闲,CA证书,CA证书服务器重命名)