2009-07-29 72 views
1

问题:找不到可信证书

我从javax.net.ssl.SSLHandshakeException得到一个错误抛出(见附图)

alt text

是否有可能为Java有腐败或缺少CA证书?如果是这样,我该如何修复或解决这个问题/错误?

事情我已经尝试:

  1. 我已删除从PC JRE的所有版本,并安装了最新版本的JRE(1.6.14)。
  2. 从证书的用户部分清除并删除所有不必要的可信任证书。
  3. 尝试运行密钥工具来获得的指纹CA的

当试图运行我得到以下密钥工具:

密钥工具错误:java.security.cert.CertificateParsingException:JAVA。 io.IOException:主键,java.security.spec.InvalidKeySpecException:未知键规范。

+0

你能提供一些你正试图连接到什么网址的细节吗? – 2009-07-29 19:38:59

+0

由于隐私控制,我无法发布我尝试连接的网址。我试过在另一台机器上连接成功。所以我知道这是一个环境问题,而不是代码问题或服务器端问题。 – 2009-07-29 20:35:37

回答

1

从理论上讲,Java可能存在一个腐败的CA证书,但是IMO极不可能。您想要的CA证书更可能不在JRE的cacerts商店中。您可以使用'keytool'检查商店的内容(至少在Linux上);例如

keytool -list -keystore /usr/java/jdk1.6.0_14/jre/lib/security/cacerts 

扫描该列表以查看是否可以看到您的URL需要的CAcert指纹。

参考:JDK 6.0 JDK Development Tools/Security Tools页/节。