|
@@ -0,0 +1,43 @@
|
|
|
+package cn.iocoder.yudao.module.pms.constant;
|
|
|
+
|
|
|
+import org.springframework.http.client.SimpleClientHttpRequestFactory;
|
|
|
+import org.springframework.web.client.RestTemplate;
|
|
|
+
|
|
|
+import javax.net.ssl.*;
|
|
|
+import java.security.cert.X509Certificate;
|
|
|
+
|
|
|
+public class SslSkippingRestTemplate {
|
|
|
+
|
|
|
+ public static RestTemplate createRestTemplate() {
|
|
|
+ try {
|
|
|
+ // 创建不验证证书的SSL上下文
|
|
|
+ TrustManager[] trustAllCerts = new TrustManager[]{
|
|
|
+ new X509TrustManager() {
|
|
|
+ public X509Certificate[] getAcceptedIssuers() {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ public void checkClientTrusted(X509Certificate[] certs, String authType) {
|
|
|
+ }
|
|
|
+ public void checkServerTrusted(X509Certificate[] certs, String authType) {
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ SSLContext sslContext = SSLContext.getInstance("SSL");
|
|
|
+ sslContext.init(null, trustAllCerts, new java.security.SecureRandom());
|
|
|
+
|
|
|
+ // 获取SSL连接工厂
|
|
|
+ HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory());
|
|
|
+
|
|
|
+ // 创建不验证主机名的主机名验证器
|
|
|
+ HostnameVerifier allHostsValid = (hostname, session) -> true;
|
|
|
+ HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
|
|
|
+
|
|
|
+ // 创建RestTemplate并设置自定义请求工厂
|
|
|
+ SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
|
|
|
+ return new RestTemplate(requestFactory);
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new RuntimeException("创建RestTemplate失败", e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|