如何调试丢失的企业根 CA 证书?

如何调试丢失的企业根 CA 证书?

我们有一个 openssl 离线根 CA,其中有一个与 Windows 2008 R2 AD 集成的 SubCA。

Openssl Root CA 已CN=ROOTCANAME,CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration,DC=DOMAIN使用以下方式发布到 ldapcertutil -dspublish -f root.cer RootCA

一切正常,除了一件事。到目前为止,出现了两个客户端(均为 XP),它们没有将根 CA 证书导入受信任的企业根证书颁发机构存储。

在我的工作站上,我得到以下输出:

C:\>certutil -store -enterprise root
402.203.0: 0x80070057 (WIN32: 87): ..CertCli Version
================ Certificate 0 ================
Serial Number: f818516373f917e8
Issuer: E=hostmaster@DOMAIN, CN=ROOTCA, O=Organisation, L=Location, S=State, C=DE
Subject: E=hostmaster@DOMAIN, CN=ROOTCA, O=Organisation, L=Location, S=State, C=DE
Signature matches Public Key
Root Certificate: Subject matches Issuer
Cert Hash(sha1): a6 ed 80 59 04 80 c7 1f 4e cb aa e1 8d e7 77 4a 2a 98 43 97
No key provider information
No stored keyset property
CertUtil: -store command completed successfully.

在未导入根 CA 证书的工作站上。输出为:

C:\>certutil -store -enterprise root
CertUtil: -store command completed successfully.

即使手动导入证书后,这台机器也重新加入了域。但无济于事。

现在的问题是:

  • 在哪里寻找错误或调试信息?
  • 如何识别有此问题的机器?
  • 如何手动触发 ldap 证书的导入?
  • 这是分发根 CA 证书的正确方法吗?我倾向于不使用组策略进行简单分发,但另一方面找不到有关 ldap 分发过程的太多信息。

答案1

需要检查以下几件事:

  • 此客户端上的证书自动注册功能是否已禁用?缺少自动注册功能可以解释缺少导入。
  • 由于手动导入,证书是否位于受信任根存储中,只是不在企业信任容器中?请检查 中的计算机帐户的受信任根存储certmgr.msc
  • 它可能已导入然后由于某种原因被删除?如果它认为它已导入,则不会再次导入;清除 下的子项HKLM\Software\Microsoft\Cryptography\AutoEnrollment\AEDirectoryCache,然后使用 重新运行自动注册certutil -pulse

答案2

“我不喜欢使用组策略进行简单的分发……”

为什么不呢?这正是 GP 的设计目的 - 将通用设置/配置分发给域 PC。只需将根证书导入到 GPO 下计算机配置 > 策略 > Windows 设置 > 安全设置 > 公钥策略 > 受信任的根证书颁发机构

相关内容