Java用HttpsURLConnection访问https协议如何跳过SSL证书的验证问题
更新时间:2026年06月13日 08:43:03 作者:荔枝味的真知棒
这段文章主要讲解了在请求httpss;协议时的SSL验证过程,特别是在企业内部信任的请求情况下,可以通过跳过SSL验证来简化编程过程,文章中提供了一段简单代码示例,可以直接放入请求类中实现自动跳过SSL验证
用HttpsURLConnection访问https协议跳过SSL证书的验证
请求https协议的时候,是需要进行SSL验证的。
当然,如果这个请求是自己企业已知的或者是被企业已信任的,这个时候,咱们就会为了编程的方便,不需要把请求的根证书以及中间证书导入到JKS中了,让程序在调用HTTP协议的时候对服务器的服务器名和证书名进行对比。
说了那么多,应该怎么做呢?
很简单
直接将下面代码段放入到请求类中,即可自动跳过SSL验证。
static {
try {
trustAllHttpsCertificates();
HttpsURLConnection.setDefaultHostnameVerifier
(
(urlHostName, session) -> true
);
} catch (Exception e) {
}
}
private static void trustAllHttpsCertificates()
throws NoSuchAlgorithmException, KeyManagementException {
TrustManager[] trustAllCerts = new TrustManager[1];
trustAllCerts[0] = new TrustAllManager();
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, null);
HttpsURLConnection.setDefaultSSLSocketFactory(
sc.getSocketFactory());
}
private static class TrustAllManager
implements X509TrustManager {
public X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkServerTrusted(X509Certificate[] certs,
String authType) {
}
public void checkClientTrusted(X509Certificate[] certs,
String authType) {
}
}
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Springboot+WebSocket实现一对一聊天和公告的示例代码
这篇文章主要介绍了Springboot+WebSocket实现一对一聊天和公告的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2021-04-04
Java Stream中map与flatMap对比超详细教程
这篇文章主要介绍了Java Stream中map与flatMap对比的相关资料,map()用于一对一转换,而flatMap()用于一对多转换并合并结果,文章详细解释了每个方法的基本功能、典型应用场景和示例代码,需要的朋友可以参考下2025-05-05


最新评论