我正在尝试在我们的域中为 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 和客户端上也这样做了吗?
参考:
此链接适用于 LDAPS,但包含有关 SSL 的详细信息,因为它是必需的: https://support2.microsoft.com/default.aspx?scid=kb;en-us;321051