我正在尝试为我们域中的 Active Directory 启用 SSL。我遇到的问题是服务器无法识别我为它制作的证书。每当我尝试使用 ssl(使用 ldp.exe)查询服务器时,我都会收到事件 36886,它基本上表明在服务器上找不到合适的证书。
我已经阅读了这篇 kb 文章以进行故障排除,这就是我所拥有的
我已将证书放在本地计算机的证书存储中,在 Personal 容器下。我在 Linux 机器上使用 openssl 作为 CA,并将其证书放在 Trusted Root Certification Authorities 容器下。
我的域控制器 FQDN 在证书的主题中。在 extendedKeyUsage 部分中还添加了一个备用名称,查询时两者都不起作用。
- 我在 EnhancedKeyUsage 部分有 serverAuth 和 clientAuth
当我在 mmc 控制台中双击证书时,它在底部声明“您有一个与此证书相对应的私钥” ,但是,根据 KB 说明,我运行该
certutil -verifykeys
命令并返回The system cannot find the file specified
.当我双击证书并转到证书路径时,它会列出我的 CA,然后是证书,然后在它下面说 This certificate is OK,所以我假设这意味着链是有效的。
它是计算机个人存储中唯一的证书
当我做类似
certutil -verifystore MY 0
它列出证书的事情时,它唯一的抱怨是关于吊销列表,因为我从来没有做过 crl,但它仍然说证书最后是有效的。
我猜它失败的原因与失败的原因有关certutil -verifykeys
,但是当我遇到错误时,我无法找到它的实际含义。
谁能指出我正确的方向?
启用 CAPI2 事件日志。CAPI2 日志中的错误事件通常提供有关证书问题的更多信息。
应用程序和服务日志 > Microsoft > Windows > CAPI2
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