根据这个问题,我有一个环境,其中无法颁发基于“Kerberos 身份验证”模板的证书(有远程站点没有直接连接到 CA,证书注册使用 CEP/CES,但 Kerberos 身份验证模板需要 CA连接回请求的 DC;链接问题中的完整详细信息)。
我们可以在没有这些证书的情况下生活......但是当启用自动注册时,所有域控制器都会不断请求它们。
我尝试禁用模板,但 DC 不断尝试并失败,并出现错误“此 CA 不支持请求的证书模板”。
我如何告诉 DC 只请求“域控制器身份验证”证书并停止尝试获取“Kerberos 身份验证”证书?
这个问题可以有两个输入:
第 1 部分:模板取代
在证书模板设置 ( certtmpl.msc ) 中,有被取代的模板选项卡,您可以在其中指定被当前模板取代的模板列表。此设置仅由证书自动注册功能使用。
在自动注册期间,客户端检查每个模板并检查当前模板是否在任何其他模板中列为*superseded* 。如果已列出,则跳过当前模板。此行为在[MS-CAESO]协议规范中定义,§4.4.5.6.1:
这回答了问题的前半部分:为什么不自动注册允许自动注册模板。因此,请检查两个模板是否都未配置为取代
Domain Controller Authentication
模板。如果有,请将其从取代列表中删除。并检查是否
Domain Controller Authentication
添加了发布到启用 Web 注册的 CA。第 2 部分:MS-XCEP 缓存
当客户端使用证书注册 Web 服务 (Microsoft CEP/CES) 时,他们会执行以下操作:
Read
权限的 Active Directory 中读取所有证书模板。响应消息具有
nextUpdateHours
:默认值为 8 小时。客户端缓存此响应,并且可能不会尝试在这段时间内使用更新的模板列表请求新策略。虽然,
policiesNotChanged
客户端可以使用布尔字段来轮询更改,但从实践中我可以看出客户端不执行轮询。相反,他们使用该位来确定是否应该替换缓存的策略。这只是我的观点,因为策略的任何变化都会对客户端造成很大的延迟。或者,等待至少 8 小时,看看当客户端从 CEP 服务器获取新策略或尝试强制策略检索时问题是否自动解决:
从目标计算机(DC)上删除所有内容
%systemdrive%\ProgramData\Microsoft\Windows\X509Enrollment
,然后运行触发自动注册。在此调用期间,将下载新策略,并且自动注册应选择正确的模板。