Java 去ssl校验
时间: 2023-11-03 19:04:35 浏览: 52
https的get和post请求,去除ssl校验的java工具类
5星 · 资源好评率100%
Java 中可以通过以下代码去掉 SSL 校验:
```
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) {
}
}
};
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
HostnameVerifier allHostsValid = new HostnameVerifier() {
public boolean verify(String hostname, SSLSession session) {
return true;
}
};
HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
```
这段代码的作用是创建一个信任所有证书的 TrustManager,然后通过 SSLContext 将其设置为默认的 SSL Socket 工厂。同时,还创建了一个信任所有主机名的 HostnameVerifier,也将其设置为默认的主机名验证器。这样就可以在不校验证书的情况下建立 SSL 连接。
阅读全文