【发布时间】:2010-03-04 11:51:21
【问题描述】:
我正在使用 Commons HttpClient API 连接到我们的一台服务器。
此服务器使用 SSL,并且还使用有效证书(由 Verisign Trust Network 颁发)。
当我连接到服务器时,我的浏览器从不抱怨。但是我的java程序抛出了
原因:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:找不到受信任的证书异常。
即使此有效证书已导入我的 java 信任库,我仍然遇到同样的问题。
我使用以下简单代码连接到服务器..
HttpClient httpclient = new HttpClient();
GetMethod httpget = new GetMethod("https://www.ourserver.com/");
try {
httpclient.executeMethod(httpget);
System.out.println(httpget.getStatusLine());
} finally {
httpget.releaseConnection();
}
注意: 我很确定我们的服务器正在使用受信任的证书,因为我的浏览器从未抱怨过。
谢谢。
【问题讨论】:
-
您使用的 java 版本是什么,您的证书链顶部的 Verisign 根证书的完整主题名称是什么?
-
我使用的是 JDK 1.4。证书层次结构如下所示... 1. 内置对象令牌:Verisign Class 3 Public Primary Certification Authority 2. VeriSign, Inc 3. OurServer..
标签: java ssl httpclient