gpt4 book ai didi

java - 使用 HTTPS(不受信任的证书)访问带有 Java 的网站时出现问题

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

我尝试从 Java 应用程序使用 HTTP 访问站点。由于应用程序在开发环境中运行,因此相应的证书不受信任。

当使用 javax.net.ssl 包时,我尝试定义一个允许所有内容的自定义 TrustManager 实现,并在 SslContext 的 init 方法的第二个参数中传递它,但这不起作用。

有人做过类似的工作吗?非常感谢您的帮助!蒂埃里

最佳答案

实现一个不验证任何东西的 TrustManager 非常容易(在客户端和服务器端都有效):

public class NoVerifyTM implements X509TrustManager
{
void checkClientTrusted(X509Certificate[] chain, String authType) {
/* Accept All */
}

void checkServerTrusted(X509Certificate[] chain, String authType) {
/* Accept All */
}

X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[0]
}
}

要使用此 TrustManager:

SSLContext ctx = SSLContext.getDefault();
ctx.init(null, new TrustManager[] { new NoVerifyTM() }, null);
SSLSocketFactory sf = ctx.getSocketFactory();

请注意(正如@hanwg 所说)这样的信任管理器应该只用于测试/原型(prototype)设计目的。

关于java - 使用 HTTPS(不受信任的证书)访问带有 Java 的网站时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5854815/

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