AD 服务器未使用 Active Directory LDAP + SSL 证书

AD 服务器未使用 Active Directory LDAP + SSL 证书

我正在尝试在我们的域中为 Active Directory 启用 SSL。我遇到的问题是服务器无法识别我为其创建的证书。每当我尝试使用 ssl(使用 ldp.exe)查询服务器时,我都会收到事件 36886,该事件基本上表明在服务器上找不到合适的证书。

我经历过这篇知识库文章进行故障排除,以下是我得到的

  • 我已将证书放在本地计算机的证书存储中,位于个人容器下。我在 Linux 计算机上使用 openssl 作为 CA,并将其证书放在受信任的根证书颁发机构容器下。

  • 我的域控制器 FQDN 位于证书的主题中。extendedKeyUsage 部分中还添加了备用名称,但在查询时均不起作用。

  • 我在 EnhancedKeyUsage 部分中有 serverAuth 和 clientAuth
  • 当我双击 mmc 控制台中的证书时,它在底部显示“您有一个与此证书相对应的私钥”但是,按照 KB 说明,我运行该certutil -verifykeys命令并返回The system cannot find the file specified

  • 当我双击证书并转到“认证路径”时,它会列出我的 CA,然后列出证书,然后下面显示该证书没问题,所以我假设这意味着该链是有效的。

  • 这是计算机个人存储中的唯一证书

  • 当我做类似的事情时,certutil -verifystore MY 0它会列出证书,它唯一的抱怨是关于撤销列表,因为我从来没有制作过 crl,但它仍然说证书在最后是有效的。

我猜测失败的原因与失败的原因有关certutil -verifykeys,但是当我遇到错误时,我无法找到它实际上意味着什么。

有人能给我指出正确的方向吗?

答案1

启用 CAPI2 事件日志。CAPI2 日志中的错误事件通常会提供有关证书问题的更多信息。

应用程序和服务日志 > Microsoft > Windows > CAPI2

答案2

CRL 是 SSL 的一项要求。您必须先解决该问题。我列出的其他所有内容都是您可以检查的内容,如果这不能解决问题。

由于您在验证密钥时遇到错误,请确保 MachineKeys 文件夹上的 ACL 正确,并且私钥未使用强私钥加密。

您说您将 Linux 机器的证书放在了 Trusted Root 文件夹中。您在 DC 和客户端上也这样做了吗?

参考:

http://blogs.technet.com/b/instan/archive/2009/01/05/schannel-36872-or-schannel-36870-on-a-domain-controller.aspx

此链接适用于 LDAPS,但包含有关 SSL 的详细信息,因为它是必需的: https://support2.microsoft.com/default.aspx?scid=kb;en-us;321051

相关内容