最近我需要为 VDI 解决方案设置 PKI,因为需要智能卡功能来处理 Azure 的 SSO。我按照 MS 说明和其他指南配置了一个离线根 CA 和一个加入域的下属 CA。在与供应商的支持人员合作解决智能卡的一些问题时,供应商使用 dspublish 命令手动填充了我的离线根 CA 和下属 CA 的 RootCA 值(长话短说,我不知道该策略配置是为了停止自动注册,所以我的 CA 不会传播,很久以后才发现并纠正了这个问题)。他们可能已经将 dspublish 运行到 RootCA 以外的其他地方,但我记不清了。
目前,一切正常,但我看到的机器和服务器上的证书似乎不对。即使一切正常,我也想确保我拥有的东西没问题,或者在我们使用 CA 进行任何其他操作之前,我应该尝试清理它。
现在,我的下属 CA 和我的根 CA 都出现在我机器上的受信任根证书颁发机构和中级证书颁发机构容器中(具体来说,在两个位置的企业实体店下)。这对我来说似乎不对,我希望我的下属 CA 只出现在中级证书颁发机构中,而根 CA 只出现在根证书颁发机构中。我一直在寻找一种方法来清理这个问题,但除了将其全部删除并从头开始之外,我似乎找不到我想要的东西,或者这不是一个问题?
答案1
在受信任的根证书颁发机构和中级证书颁发机构容器中同时拥有根 CA 和下级 CA 并不是最佳做法。通常预期根 CA 位于受信任的根证书颁发机构容器中,而下级 CA 位于中级证书颁发机构容器中。
答案2
问题已解决。由于设置创建/使用时间太早,我进入 ADSI 并手动删除了以下位置的所有内容:
CN=认证机构、CN=公钥服务、CN=服务、CN=配置、DC=...
CN=AIA、权威机构、CN=公钥服务、CN=服务、CN=配置、DC=...
这会刷新这些值,防止它们重新出现在我设备上的企业物理存储中。之后,我手动重新发布了我的子颁发机构,确保它仅设置为“SubCA”,并且它没有在证书颁发机构容器下重新创建值,只有 AIA,现在只显示在中间。现在,Root 只通过 GPO 推送。从本质上讲,混乱确实是由供应商将两个证书发布到两个存储中的操作造成的。