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