diff --git a/src/main/java/com/example/zxweb/utils/RestUtil.java b/src/main/java/com/example/zxweb/utils/RestUtil.java index 2053a0a..fdbc655 100644 --- a/src/main/java/com/example/zxweb/utils/RestUtil.java +++ b/src/main/java/com/example/zxweb/utils/RestUtil.java @@ -235,12 +235,11 @@ public class RestUtil { if (variables != null && !variables.isEmpty()) { url += ("?" + asUrlVariables(variables)); } - /* try { SslUtils.ignoreSsl(); } catch (Exception e) { e.printStackTrace(); - }*/ + } // 发送请求 HttpEntity request = new HttpEntity<>(body, headers); //回调接口 diff --git a/src/main/java/com/example/zxweb/utils/SslUtils.java b/src/main/java/com/example/zxweb/utils/SslUtils.java new file mode 100644 index 0000000..96aeee5 --- /dev/null +++ b/src/main/java/com/example/zxweb/utils/SslUtils.java @@ -0,0 +1,49 @@ +package com.example.zxweb.utils; + +import javax.net.ssl.*; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; + +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 boolean isServerTrusted(X509Certificate[] certs) { + return true; + } + public boolean isClientTrusted(X509Certificate[] certs) { + return true; + } + public void checkServerTrusted(X509Certificate[] certs, String authType) + throws CertificateException { + return; + } + public void checkClientTrusted(X509Certificate[] certs, String authType) + throws CertificateException { + return; + } + } + /** + * 忽略HTTPS请求的SSL证书,必须在openConnection之前调用 + * @throws Exception + */ + public static void ignoreSsl() throws Exception{ + HostnameVerifier hv = new HostnameVerifier() { + public boolean verify(String urlHostName, SSLSession session) { + System.out.println("Warning: URL Host: " + urlHostName + " vs. " + session.getPeerHost()); + return true; + } + }; + trustAllHttpsCertificates(); + HttpsURLConnection.setDefaultHostnameVerifier(hv); + } +}