gpt4 book ai didi

java - 从 Java 连接到 HTTPS 服务器并忽略安全证书的有效性

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:26:35 26 4
gpt4 key购买 nike

我一直在测试一个系统,该系统访问一组具有不同 key 的 https 服务器,其中一些无效,并且所有 key 都不在我的 JVM 的本地 key 存储中。我真的只是在测试,所以我不关心现阶段的安全性。有没有一种好方法可以对服务器进行 POST 调用并告诉 Java 不要担心安全证书?

我的谷歌搜索已经提出了一些代码示例,这些代码示例创建了一个类来进行验证,它总是有效,但我无法让它连接到任何服务器。

最佳答案

根据评论:

With Googled examples, you mean among others this one?


更新:链接失效了,所以这是我从the internet archive中保存的相关摘录。 :

// Create a trust manager that does not validate certificate chains
TrustManager[] trustAllCerts = new TrustManager[]{
new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(
java.security.cert.X509Certificate[] certs, String authType) {
}
public void checkServerTrusted(
java.security.cert.X509Certificate[] certs, String authType) {
}
}
};

// Install the all-trusting trust manager
try {
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
} catch (Exception e) {

}

// Now you can access an https URL without having the certificate in the truststore
try {
URL url = new URL("https://hostname/index.html");
} catch (MalformedURLException e) {

}

关于java - 从 Java 连接到 HTTPS 服务器并忽略安全证书的有效性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2752266/

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