症状:


当用户试图在从证书颁发机构 (CA) Web 登记页申请证书时,用户可能会收到以下错误消息:
找不到证书模板。 您没有从该的 CA 申请证书的权限或访问 Active Directory 时出错。
如果 Web 注册页是一个企业 CA 服务器上的 Active Directory 域中,将发生此行为。 发生该事件,Web 注册页是否在同一服务器上或在不同的成员服务器上。

原因:


CA Web 注册页执行区分大小写的字符串比较的两个值。 一个值是在证书上 %systemroot%\System32\Certsrv 文件夹中的 Certdat.inc 文件中的 sServerConfig 值和另一个值是在 Active Directory 中 pkiEnrollmentService 对象上的 dnsHostName 属性。 如果两个字符串不匹配,包括在大小写的匹配注册失败。

解决方案:


若要更正此问题,请按照下列步骤:
  1. 查看 pkiEnrollmentService 对象上的 Active Directory dNSHostName 属性。 此对象是在以下位置:
    CN =CertificateServerCN = 注册服务、 CN = 公钥服务、 CN = 服务,CN = 配置,DC =MyDomainDC = com
    若要访问 dNSHostName 属性使用 ADSIEdit.msc 或 LDP.exe。
  2. 编辑 Certdat.inc 文件,以便为 sServerConfig 值是相等,则为该 dNSHostName 属性跟证书颁发机构名称。
    请注意sServerConfig 值必须是同一种的确切情况下,作为 dNSHostName 属性。 如果不是这样,您将继续得到同样的错误。
  3. 例如:如果 DNS 主机名的证书颁发机构是 server1.domain.local,证书颁发机构的名称是 MYCA,然后确保 dNSHostName 属性中的"CN = MYCA,CN = 登记服务,CN = 公钥服务,CN = 服务,CN = 配置,DC =DC = 本地对象设置为"server1.domain.local",并应设置在证书颁发机构 certdat.inc 文件"%systemroot%\system32\certsrv"文件夹中的 sServerConfig to"server1.domain.local\MYCA"。
  4. 具有该用户,并且要请求证书重新启动 Internet Explorer。 这就允许新的凭据传递给 CA。
请注意此外请确保该用户被授予读取和注册的用户请求的证书模板上的权限。 您可以通过使用 ADSIEdit 管理单元或证书模板管理单元中授予这些权限。