本文有助于修复 CNG 或 2008 模板未显示在高级证书请求模板下拉菜单中的问题。
原始 KB 数: 2015796
现象
在 Windows Server 2008 或 Windows Server 2008 R2 服务器上使用证书 Web 注册页时,新版本 3(也称为 CNG 或 2008 模板)不会显示在高级证书请求模板下拉菜单中。 因此,使用 CNG 模板的 Web 注册无法通过 Web 注册方法进行。
发生这种情况时,可以使用同一模板和其他注册方法请求证书并成功注册证书。 换句话说,可以使用证书 MMC 管理单元、脚本、自动注册或导出请求从该模板成功请求证书。 仅当 Web 注册不允许版本 3 模板可供选择时,才会出现问题。
无法对证书进行全面请求的其他常见原因可能是服务器不是企业服务器,或者请求者对 Active Directory 中的模板没有读取允许和请求允许权限。
原因
此为有意行为。 版本 3 模板可能具有 Web 注册方法可能无法满足的其他请求要求。
解决方法
对这些证书使用不同的请求方法。 除了 Web 注册之外,所有其他请求方法在此方案中都起作用。
详细信息
在测试环境中没有广泛测试的情况下,客户不应尝试在生产环境中尝试这种替代方法,该选项允许版本 3 模板显示在 Web 注册默认页面中。 不建议这样做的原因是,Web 注册页可能不包含证书填充所有所需数据所需的代码,因此结果可能是有问题的证书。 在考虑执行以下步骤时,请务必记住这一点。 此选项是将 msPKI-Template-Schema-Version 从 3 更改为 2。
此外,更改 msPKI-Template-Schema-Version 属性会导致重新加载模板缓存和 CSP 缓存。
- 在域控制器上转到**“开始**”、“运行”**,**键入 AdsiEdit.msc,然后按 Enter。
- 在 AdsiEdit.msc 中,右键单击左侧窗格中的 ADSIEDIT 节点,然后在出现的菜单中选择“连接到”。
- 在**“连接设置”**对话框中,选择“连接点”部分中的配置,然后单击“确定”。
- 展开左侧窗格中的节点,直到向下钻取到 模板 存储(CN=证书模板,CN=公钥服务,CN=Services,CN=Configuration,DC=,DC=)。
- 双击要出现在 Web 注册页中的版本 3 模板。
- 向下滚动并选择 msPKI-Template-Schema-Version 属性。
- 双击 msPKI-Template-Schema-Version 属性,并将值从 3 更改为 2 ,然后单击“ 确定”。
- 单击“应用”。 这会更新模板和 CSP 列表。 如果你在环境中使用第三方 CSP,请记住这一点。
- 转到 Web 注册页(如果从 CA 服务器运行),并尝试使用高级请求注册证书。