From 63fce753f2357e1bc4ff015b428bd1d56eda77b3 Mon Sep 17 00:00:00 2001 From: czt <czt18638530771@163.com> Date: 星期四, 29 八月 2024 11:23:03 +0800 Subject: [PATCH] 调整宁夏省平台接口:跳过SSL验证 --- src/main/java/com/fzzy/push/nx2023/NX2023HttpClientUtil.java | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 50 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/fzzy/push/nx2023/NX2023HttpClientUtil.java b/src/main/java/com/fzzy/push/nx2023/NX2023HttpClientUtil.java index 99926d3..fabd802 100644 --- a/src/main/java/com/fzzy/push/nx2023/NX2023HttpClientUtil.java +++ b/src/main/java/com/fzzy/push/nx2023/NX2023HttpClientUtil.java @@ -2,7 +2,11 @@ import com.alibaba.fastjson.JSON; import com.fzzy.push.nx2023.dto.Nx2023RespDto; +import com.fzzy.push.nx2024.NX2024HttpClientUtil; import lombok.extern.slf4j.Slf4j; +import javax.net.ssl.HostnameVerifier; +import javax.net.ssl.HttpsURLConnection; +import javax.net.ssl.SSLSession; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStream; @@ -33,6 +37,16 @@ String rs = ""; Nx2023RespDto responseDto; try { + //https璇锋眰蹇界暐ssl璇佷功锛岃閮ㄥ垎蹇呴』鍦ㄨ幏鍙朿onnection鍓嶈皟鐢� + trustAllHttpsCertificates(); + HostnameVerifier hv = new HostnameVerifier() { + @Override + public boolean verify(String urlHostName, SSLSession session) { + log.info("Warning: URL Host: " + urlHostName + " vs. " + session.getPeerHost()); + return true; + } + }; + HttpsURLConnection.setDefaultHostnameVerifier(hv); connection = (HttpURLConnection) urls.openConnection(); connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8"); @@ -85,4 +99,40 @@ connection = null; } } + + private static void trustAllHttpsCertificates() throws Exception { + javax.net.ssl.TrustManager[] trustAllCerts = new javax.net.ssl.TrustManager[1]; + javax.net.ssl.TrustManager tm = new miTM(); + trustAllCerts[0] = tm; + javax.net.ssl.SSLContext sc = javax.net.ssl.SSLContext.getInstance("SSL"); + sc.init(null, trustAllCerts, null); + javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); + } + + static class miTM implements javax.net.ssl.TrustManager, javax.net.ssl.X509TrustManager { + @Override + public java.security.cert.X509Certificate[] getAcceptedIssuers() { + return null; + } + + public boolean isServerTrusted(java.security.cert.X509Certificate[] certs) { + return true; + } + + public boolean isClientTrusted(java.security.cert.X509Certificate[] certs) { + return true; + } + + @Override + public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType) + throws java.security.cert.CertificateException { + return; + } + + @Override + public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) + throws java.security.cert.CertificateException { + return; + } + } } \ No newline at end of file -- Gitblit v1.9.3