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/NX2023ApiRemoteService.java | 1 src/main/java/com/fzzy/conf/RestTemplateConfig.java | 29 +++++++++ src/main/java/com/fzzy/push/nx2023/dto/Nx2023Api1102.java | 3 - src/main/java/com/fzzy/push/nx2024/dto/Nx2024RespDto.java | 2 src/main/java/com/fzzy/push/nx2024/NX2024HttpClientUtil.java | 49 ++++++++++++++++ src/main/resources/application-pro2.yml | 2 src/main/java/com/fzzy/push/nx2024/NX2024ApiRemoteService.java | 1 src/main/resources/application-pro5306-gb.yml | 2 src/main/java/com/fzzy/push/nx2023/NX2023HttpClientUtil.java | 50 ++++++++++++++++ src/main/java/com/fzzy/push/nx2024/dto/Nx2024Api2402.java | 4 src/main/java/com/fzzy/api/view/ApiConfs.view.xml | 2 11 files changed, 133 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/fzzy/api/view/ApiConfs.view.xml b/src/main/java/com/fzzy/api/view/ApiConfs.view.xml index d8be0be..607786d 100644 --- a/src/main/java/com/fzzy/api/view/ApiConfs.view.xml +++ b/src/main/java/com/fzzy/api/view/ApiConfs.view.xml @@ -388,7 +388,7 @@ <Property name="caption">鎺ュ彛閰嶇疆淇℃伅</Property> <Property name="iconClass">fa fa-sliders</Property> <Property name="closeable">false</Property> - <Property name="height">720</Property> + <Property name="height">760</Property> <Buttons> <Button> <ClientEvent name="onClick">var cur = view.get("#dgMain").getCurrentItem();
 diff --git a/src/main/java/com/fzzy/conf/RestTemplateConfig.java b/src/main/java/com/fzzy/conf/RestTemplateConfig.java index 85d6b8a..a6e68a5 100644 --- a/src/main/java/com/fzzy/conf/RestTemplateConfig.java +++ b/src/main/java/com/fzzy/conf/RestTemplateConfig.java @@ -7,7 +7,12 @@ import org.springframework.http.converter.StringHttpMessageConverter; import org.springframework.web.client.RestTemplate; +import javax.net.ssl.HttpsURLConnection; +import javax.net.ssl.SSLContext; +import javax.net.ssl.TrustManager; +import javax.net.ssl.X509TrustManager; import java.nio.charset.StandardCharsets; +import java.security.NoSuchAlgorithmException; /** * RestTemplate鐨勯厤缃紝SpringBoot灏佽鐨凥TTP鍗忚锛孏ET鍜孭OST璇锋眰鏂规硶 @@ -19,8 +24,30 @@ public class RestTemplateConfig { @Bean - public RestTemplate restTemplate(ClientHttpRequestFactory factory) { + public RestTemplate restTemplate(ClientHttpRequestFactory factory) throws Exception { RestTemplate restTemplate = new RestTemplate(factory); + // 绂佺敤SSL璇佷功楠岃瘉 + TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() { + @Override + public java.security.cert.X509Certificate[] getAcceptedIssuers() { + return null; + } + + @Override + public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) { + } + + @Override + public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType) { + } + }}; + + // 鍒涘缓SSLContext锛屼娇鐢ㄧ鐢⊿SL璇佷功楠岃瘉鐨凾rustManager + SSLContext sslContext = SSLContext.getInstance("SSL"); + sslContext.init(null, trustAllCerts, new java.security.SecureRandom()); + + // 璁剧疆鍏ㄥ眬榛樿鐨凷SLSocketFactory锛屼娇RestTemplate浣跨敤绂佺敤SSL璇佷功楠岃瘉鐨凷SLContext + HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory()); restTemplate.getMessageConverters().set(1,new StringHttpMessageConverter(StandardCharsets.UTF_8)); return restTemplate; } diff --git a/src/main/java/com/fzzy/push/nx2023/NX2023ApiRemoteService.java b/src/main/java/com/fzzy/push/nx2023/NX2023ApiRemoteService.java index 76d1034..c4d1ade 100644 --- a/src/main/java/com/fzzy/push/nx2023/NX2023ApiRemoteService.java +++ b/src/main/java/com/fzzy/push/nx2023/NX2023ApiRemoteService.java @@ -188,7 +188,6 @@ if (NX2023Constant.NX_2023_API_CODE_1102.equals(inteId)) { Nx2023Api1102 api1102 = new Nx2023Api1102(); BeanUtils.copyProperties(data, api1102); - api1102.setLkxz(null); return api1102; } if (NX2023Constant.NX_2023_API_CODE_1103.equals(inteId)) { 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 diff --git a/src/main/java/com/fzzy/push/nx2023/dto/Nx2023Api1102.java b/src/main/java/com/fzzy/push/nx2023/dto/Nx2023Api1102.java index e942a45..6c8e91e 100644 --- a/src/main/java/com/fzzy/push/nx2023/dto/Nx2023Api1102.java +++ b/src/main/java/com/fzzy/push/nx2023/dto/Nx2023Api1102.java @@ -51,9 +51,6 @@ @PropertyDef(label = "搴撳尯绾害") private Double wd; - @PropertyDef(label = "绮簱鎬ц川", description = "1:鍥芥湁,2:姘戣惀,3:鍚堣祫") - private String lkxz; - @PropertyDef(label = "鎿嶄綔鏍囧織") private String czbz; diff --git a/src/main/java/com/fzzy/push/nx2024/NX2024ApiRemoteService.java b/src/main/java/com/fzzy/push/nx2024/NX2024ApiRemoteService.java index 65af5d3..3ceb289 100644 --- a/src/main/java/com/fzzy/push/nx2024/NX2024ApiRemoteService.java +++ b/src/main/java/com/fzzy/push/nx2024/NX2024ApiRemoteService.java @@ -194,7 +194,6 @@ if (NX2024Constant.NX_2024_API_CODE_2402.equals(inteId)) { Nx2024Api2402 apiData = new Nx2024Api2402(); BeanUtils.copyProperties(data, apiData); - apiData.setLkxz("1"); return apiData; } if (NX2024Constant.NX_2024_API_CODE_2403.equals(inteId)) { diff --git a/src/main/java/com/fzzy/push/nx2024/NX2024HttpClientUtil.java b/src/main/java/com/fzzy/push/nx2024/NX2024HttpClientUtil.java index 1e3e3fd..0e1e6a5 100644 --- a/src/main/java/com/fzzy/push/nx2024/NX2024HttpClientUtil.java +++ b/src/main/java/com/fzzy/push/nx2024/NX2024HttpClientUtil.java @@ -3,6 +3,9 @@ import com.alibaba.fastjson.JSON; import com.fzzy.push.nx2024.dto.Nx2024RespDto; 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 +36,16 @@ String rs = ""; Nx2024RespDto 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 +98,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; + } + } } diff --git a/src/main/java/com/fzzy/push/nx2024/dto/Nx2024Api2402.java b/src/main/java/com/fzzy/push/nx2024/dto/Nx2024Api2402.java index 6bc0945..91dde0b 100644 --- a/src/main/java/com/fzzy/push/nx2024/dto/Nx2024Api2402.java +++ b/src/main/java/com/fzzy/push/nx2024/dto/Nx2024Api2402.java @@ -56,8 +56,8 @@ @PropertyDef(label = "搴撳尯绾害") private Double wd; - @PropertyDef(label = "绮簱鎬ц川", description = "1:鍥芥湁,2:姘戣惀,3:鍚堣祫") - private String lkxz; + @PropertyDef(label = "搴撳尯鐘舵��", description = "1:姝e父,2:閫�鍌�") + private String kqzt; @PropertyDef(label = "鎿嶄綔鏍囧織") private String czbz; diff --git a/src/main/java/com/fzzy/push/nx2024/dto/Nx2024RespDto.java b/src/main/java/com/fzzy/push/nx2024/dto/Nx2024RespDto.java index e9849ad..7093bc7 100644 --- a/src/main/java/com/fzzy/push/nx2024/dto/Nx2024RespDto.java +++ b/src/main/java/com/fzzy/push/nx2024/dto/Nx2024RespDto.java @@ -9,7 +9,7 @@ * @Date 2024/7/25 15:21 */ @Data -public class Nx2024RespDto<T> implements Serializable { +public class Nx2024RespDto implements Serializable { /** * */ diff --git a/src/main/resources/application-pro2.yml b/src/main/resources/application-pro2.yml index a9641e5..6d0e245 100644 --- a/src/main/resources/application-pro2.yml +++ b/src/main/resources/application-pro2.yml @@ -1,4 +1,4 @@ -########################## 瀹佸鐭冲槾灞辩孩鏋滃瓙绮簱 ########################## +########################## 瀹佸鐭冲槾灞辩孩鏋滃瓙绮簱-pro2 ########################## server: port: 8091 jetty: diff --git a/src/main/resources/application-pro5306-gb.yml b/src/main/resources/application-pro5306-gb.yml index a9641e5..6d0e245 100644 --- a/src/main/resources/application-pro5306-gb.yml +++ b/src/main/resources/application-pro5306-gb.yml @@ -1,4 +1,4 @@ -########################## 瀹佸鐭冲槾灞辩孩鏋滃瓙绮簱 ########################## +########################## 瀹佸鐭冲槾灞辩孩鏋滃瓙绮簱-pro2 ########################## server: port: 8091 jetty: -- Gitblit v1.9.3