奋斗的小果
2 years ago
committed by
GitHub
2 changed files with 48 additions and 0 deletions
@ -0,0 +1,42 @@ |
|||||||
|
package cn.keking.utils; |
||||||
|
|
||||||
|
import javax.net.ssl.*; |
||||||
|
import java.security.cert.CertificateException; |
||||||
|
import java.security.cert.X509Certificate; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author 鞠玉果 |
||||||
|
*/ |
||||||
|
public class SslUtils { |
||||||
|
|
||||||
|
private static void trustAllHttpsCertificates() throws Exception { |
||||||
|
TrustManager[] trustAllCerts = new TrustManager[1]; |
||||||
|
TrustManager tm = new miTM(); |
||||||
|
trustAllCerts[0] = tm; |
||||||
|
SSLContext sc = SSLContext.getInstance("SSL"); |
||||||
|
sc.init(null, trustAllCerts, null); |
||||||
|
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); |
||||||
|
} |
||||||
|
|
||||||
|
static class miTM implements TrustManager, X509TrustManager { |
||||||
|
public X509Certificate[] getAcceptedIssuers() { |
||||||
|
return null; |
||||||
|
} |
||||||
|
|
||||||
|
public void checkServerTrusted(X509Certificate[] certs, String authType) throws CertificateException { |
||||||
|
} |
||||||
|
|
||||||
|
public void checkClientTrusted(X509Certificate[] certs, String authType) throws CertificateException { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 忽略HTTPS请求的SSL证书,必须在openConnection之前调用 |
||||||
|
*/ |
||||||
|
public static void ignoreSsl() throws Exception { |
||||||
|
HostnameVerifier hv = (urlHostName, session) -> true; |
||||||
|
trustAllHttpsCertificates(); |
||||||
|
HttpsURLConnection.setDefaultHostnameVerifier(hv); |
||||||
|
} |
||||||
|
|
||||||
|
} |
Loading…
Reference in new issue