这里有很多关于这个问题的讨论,我花了一整天的时间探索每一个。涉及此问题的所有服务器都是 Windows 2019。2 个域控制器和一个证书颁发机构服务器。安装证书服务功能后,我还安装了 Web 注册功能。但是当我转到我的服务器的注册站点时,出现了此错误:
我尝试了多种方案。我通过以下方式验证了权限: https://www.altaro.com/hyper-v/windows-ssl-certificate-templates/
我通过以下方式验证了 LDAP 对象配置: https://docs.microsoft.com/en-US/troubleshoot/windows-server/windows-security/no-certificate-templates-be-found
我从该站点验证了配置: https://docs.microsoft.com/en-us/answers/questions/96739/certificate-template-not-showing.html
我完全没有主意了。我对此感到沮丧。有人有其他想法吗?
答案1
哦天哪。那能很难。在对 mscersvc 进行了大量故障排除和咒骂之后,我整理了一份解决方案的“最佳列表”。如果您已经尝试过其中一些,我很抱歉。
- 检查并验证https://support.microsoft.com/en-us/kb/811418
- 确保模板的安全权限设置适当(检查应用程序池标识)
- 确保(毫无疑问!)您的 AD 复制工作正常,并且可以在每一个直流(!)
- 确保在选项卡
Supply in the request
下选择了Subject Name
- 创建了一个全新的 IIS 应用程序池,并将 Certsrv 目录分配给它(三重检查适当的权限)。仅与 http 绑定(!)
- 确保证书模板兼容性与域和林功能级别相同或更低(而在 2019 年,如果不是,我也不会感到惊讶 - 大多数域都在较旧的 FL 或 DL 上)
- 将应用程序池的标识从 ApplicationPoolIdentity 更改为 NetworkService(并仔细检查 NTFS 权限。当在 DC 上设置 Certsvc 时,这可能会出现奇怪的情况,我完全不建议这样做)
- 使用 检查重复和/或已停用的 AD certsvcs(以及颁发服务器名称和证书请求)
ldifde -f check.txt -d "CN=Configuration,DC=<YOURDOM>,DC=<YOURTLD>"
。当您找到“第二个”时,请将其找出来或完全删除其模板。然后repadmin /syncall /AdePq
(并等待) - (过时的)Web 控制台需要读取、写入、注册和自动注册权限以显示模板
- 仔细检查您的 DNS。查找 LDAP (AD) 服务的 SRV 记录
- 确保您的 CA 使用密钥存储提供程序 (KSP)(和 SHA2),并使用 2019 作为 Web 前端
祝你好运。
答案2
尝试从 certmgr 请求新证书时遇到了类似的问题,我的问题是我没有在域中为 LDAP 服务创建 SRV 记录。客户端设备上的数据包捕获显示 DNS 查找失败。