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/conf/RestTemplateConfig.java |   29 ++++++++++++++++++++++++++++-
 1 files changed, 28 insertions(+), 1 deletions(-)

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;
 	}

--
Gitblit v1.9.3