ssl - OpenJDK 抛出 "certificate chaining errors"

标签 ssl ssl-certificate ubuntu-12.04 java

在 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

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

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

最佳答案

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

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

前阵子我写了一篇关于如何在 Android 上处理这个问题的博文,但同样的代码应该适用于 openjdk。

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

关于ssl - OpenJDK 抛出 "certificate chaining errors",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20105834/

相关文章:

ssl - Akka.NET TLS 实现

java - 当根证书已存在于 cacert 文件中时,是否需要导入子 CA 证书?

nginx - 如何配置Chef Solo在新的Vagrant盒子上安装Nginx?

java - Tomcat 7 getting SSLv2Hello is disabled error when trying to make client server ssl authentication

php - Recurly JS API 版本 2.7.0 - 无法验证 Recurly 的 SSL 证书

ios - 我应该如何处理通过多个 channel 分发的应用程序的推送通知?

java - LinkIN API OAuth 在 ubuntu 中不起作用

security - 客户端 SSL 和端到端 SSL 之间的区别

java - 记录 HTTPS 站点的 Jmeter 问题

java - Ubuntu 12.04 上带有 openjdk 6 的 NullPointerException