【发布时间】:2015-11-19 11:29:48
【问题描述】:
我正在尝试通过 SSL 连接到应用程序。当通过 WL/Java 连接时,我得到 sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification,我知道这是因为我的 WL/Java 的受信任存储中没有安装服务器证书。
我从浏览器导入证书,使用keytool 安装它,现在一切正常。
但是,以下是一些未解决的问题:
-
当我使用
openssl s_client命令连接相同的主机:端口时,SSL 握手成功。这是在我将该证书添加到我的受信任存储之前。- 为什么在
openssl没有在密钥库中添加证书的情况下SSL握手成功?
- 为什么在
-
浏览器在其受信任的 CA 存储中不包含证书,它仅包含受信任的 CA 的证书,然后匹配服务器证书的签署者 CA 是否存在于其受信任的 CA 存储中。如果是,则对服务器进行身份验证。
- 在服务器的情况下,为什么即使服务器的证书签署者 (EnTrust) 证书存在于我的密钥库中,服务器也未通过身份验证。为什么我需要在我的密钥库中导入服务器证书而不是不需要的浏览器?
- 只有服务器证书的签名 CA 的证书需要存在于密钥库中,还是应该存在服务器的实际证书?
【问题讨论】:
标签: openssl digital-certificate sslhandshakeexception