OpenJDK抛出“证书链错误”

时间:2013-11-20 20:04:25

标签: java ssl ssl-certificate ubuntu-12.04 openjdk

在Ubuntu(12.04.3 LTS)上使用openjdk-7-jre-headless(1.7.0_25)时,我无法建立到https://api.runkeeper.com/的SSL / TLS连接(由GeoTrust发布):

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: Certificate chaining error

其他服务器(例如由DigiCert发布​​的https://foursquare.com/)工作正常,如果我使用java-7-oracle(1.7.0_45)也没有问题。

我将/usr/lib/jvm/java-7-oracle/jre/lib/security/cacerts复制到/etc/ssl/certs/java/cacerts,但得到了相同的错误(如果删除后一个文件,则没有SSL连接正常工作,因此正在使用该文件)。其他想法?

1 个答案:

答案 0 :(得分:2)

可能是证书链无序呈现。 我已经看过几次自签名证书 - 也许这些供应商也有同样的问题。

许多软件(例如所有主流浏览器AFAIK)通过在证书链到达验证器之前对证书链进行排序来处理此问题。

我曾经写过一篇关于如何在Android上处理这个问题的博客文章,但相同的代码应该与openjdk一起使用。

请参阅http://blog.chariotsolutions.com/2013/01/https-with-client-certificates-on.html