【发布时间】:2015-08-06 21:39:27
【问题描述】:
到目前为止,我已经使用 openssl、sslyze、keystore 实用程序和一些标准的 Windows 诊断命令来尝试描述这个问题。总结是,一旦我尝试使用其中包含 CA 签名证书的密钥库,我会在客户端打招呼后立即握手失败 40。连接永远不会到达带有 CA 证书的服务器问候。
在同一台机器 (Windows Server 2012) 上,如果我使用自签名证书,则连接按预期工作。
Openssl 显示带有 CA 证书的握手失败。
sslyze 显示所有被拒绝的密码,没有可用的密码或 TLS / 警报握手失败。
使用自签名证书成功的事实往往表明“基础”已经存在,客户端和服务器具有连接所需的密码等,并且 server.xml 配置正确。
导入证书时没有错误消息,并且根据 keytool 检查,一切似乎都使用 CA 证书正确配置。在服务器启动期间没有给出任何错误消息来指示处理证书的任何问题。
关于带有 CA 证书的密钥库,我是否应该更仔细地查看可能导致完全拒绝客户端您好?不同的密钥库或 CA 证书将如何影响握手的最早步骤?
感谢您提供的信息。
【问题讨论】:
-
假设“keytool”表示 Java,这种行为是典型的“keystore”文件,实际上不包含密钥。当您说密钥库“具有 CA 签名的证书”时,它是否在同一条目中具有 CA 签名的证书,类型为 privateKey,用于生成证书请求 (CSR)?此外,今天所有公共 CA 颁发的证书至少需要一个“链”或“中间”证书(有时更多),并且您也必须拥有它(尽管它/它们可以从不同类型的 trustCert 条目开始) .
标签: ssl