我们正在清理我们的 Windows PKI/CA 环境并用新服务器替换我们的根 CA。当前的根 CA 多年来一直在颁发以下证书模板(除了从属证书模板):
- Kerberos 身份验证
- 域控制器身份验证(我们知道这已被 Kerberos 身份验证模板取代)
- 域控制器(我们知道现在已被取代)
- 目录电子邮件复制
从属 CA 还具有“已发布”的模板。
我们知道这并不理想,新的根 CA 将被设置为仅颁发从属证书模板。
问题:
在从根CA颁发的上述模板中删除(不删除模板本身,只是将其从该根CA颁发的模板中删除)后,当域控制器自动更新上述证书时,他们是否会知道查看从属CA根据域控制器所需的模板更新/颁发新证书? 或者我们还需要做些什么来主动向环境中的 DC 颁发新证书?现有证书不会被吊销,因此在重新注册之前它们将一直有效,但我们很好奇如果原始证书是由旧根 CA 颁发的,重新注册是否会失败。我们不确定 DC 是如何“决定”的
附加附加问题:
您知道我们替换 rootCA 后从现有 SubCA 颁发的现有证书会有什么影响吗?我们正在根据以下内容将 rootCA 迁移到一个新名称:逐步将 CA 迁移到新服务器——评论中的其他人基本上问了我关于现有证书的问题,但没有回复。我的猜测是,只要客户端在其受信任的根存储中仍然有旧的 RootCA,在中间存储中仍然有 SubCA,他们应该仍然有一个良好的证书链,直到证书过期,但我想提前知道的时间。
是的。注册客户端将首先枚举所有支持从 AD 请求模板的 CA。然后客户端将从该列表中选择随机 CA 来发送续订请求。也就是说,从根 CA 中删除所有模板很好,客户端将尝试另一个支持该模板的可用 CA。
ps 虽然我会考虑将企业根 CA(加入域)转换为独立根 CA(工作组成员),这样您就可以在大部分时间关闭根 CA,因为它与在线无关。您将每年打开一次或两次以发布 CRL 或当您需要签署从属 CA 证书时。但这是另一个问题,只是遵循最佳实践的好方法。
更新 1 (21.01.2022)
注册客户端调用通用IX509Enrollment::Enroll执行一系列调用(非常简化的步骤):
使用[MS-XCEP] 的CA 发现
使用[MS-WCCE] 的CA 发现
ICertRequest2::GetCAProperty
调用。消除离线 CA。CR_PROP_TEMPLATES
propID
同样,注册客户端发现 CA 并提交证书请求是一个简化的任务序列。
更新 2
只要客户端信任根 CA,实际上什么都没有。