我最近在
下检测到不稳定的SSL证书路径验证 Ubuntu 12.04 LTS(GNU / Linux 3.2.0-26-generic x86_64)
OpenJDK运行时环境(IcedTea6 1.11.4)(6b24-1.11.4-1ubuntu0.12.04.1)
OpenJDK 64位服务器VM(内置20.0-b12,混合模式)
和
Ubuntu 10.04.1 LTS
OpenJDK运行时环境(IcedTea6 1.11.4)(6b24-1.11.4-1ubuntu0.10.04.1)
OpenJDK Server VM(build 20.0-b12,混合模式)
对于与在线银行业务主机的SSL连接,它会出现以下错误:
sun.security.validator.ValidatorException: PKIX path validation failed:
java.security.cert.CertPathValidatorException:
Path does not chain with any of the trust anchors
我已经检查过根证书是否总是包含在密钥库中......它是(Baltimore CyberTrust Root)。我用浏览器认证信息对话框显示的数据仔细检查了发送数据的MD5和SHA1指纹......同样!之后,我找到了SSLPoke,这是一个用于SSL通信的小工具,并将其用于后续请求:
java -Djavax.net.debug=ssl SSLPoke hbci-pintan.gad.de 443
这显示出不稳定性:10个请求中有8个因上述错误而失败,其中2个成功。对于每个失败的请求,我已经使用Java(TM)SE运行时环境(版本1.6.0_35-b10-428-11M3811)在Mac OS X 10.7.5 java版本“1.6.0_35”下立即发送了相同的请求,Java HotSpot (TM)64位服务器VM(内置20.10-b01-428,混合模式)。所有这些要求都是成功的。因此,在OpenJDK下,似乎这种SSL认证路径的验证是不稳定的。
有没有类似的经历?
亲切的问候 多米尼克
答案 0 :(得分:1)
我认为这种例外有两个原因。
Path does not chain with any of the trust anchors
请参阅此链接also。