gpt4 book ai didi

java - HttpClient+SSL 可信证书

转载 作者:太空宇宙 更新时间:2023-11-03 13:30:02 25 4
gpt4 key购买 nike

我正在使用 Commons HttpClient API 连接到我们的服务器之一。

此服务器使用 SSL 并使用有效证书(由 Verisign Trust Network 颁发)。

当我连接到服务器时,我的浏览器从不提示。但是我的 java 程序抛出

Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found 异常。

即使将此有效证书导入我的 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,即 1.4,则 verisign 根 CA 可能不受信任。在这种情况下,您必须配置一个包含证书的信任库。这可以通过 de 'javax.net.ssl.trustStore' 系统属性来完成,但不建议这样做。

您可以实现“org.apache.commons.httpclient.protocol.SecureProtocolSocketFactory”以提供具有给定信任库的自定义 SocketFactory。

关于java - HttpClient+SSL 可信证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2378986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com