From d8415a9733082b783e89b75ffef51dd725829a6e Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期日, 07 七月 2024 16:04:01 +0800 Subject: [PATCH] #agv对接完成 --- zy-asrs-common/src/main/java/com/zy/asrs/common/utils/HttpHandler.java | 80 +++++++++++++++++++++++++++++++++++++-- 1 files changed, 75 insertions(+), 5 deletions(-) diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/utils/HttpHandler.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/utils/HttpHandler.java index 4f05b6e..95ccf7c 100644 --- a/zy-asrs-common/src/main/java/com/zy/asrs/common/utils/HttpHandler.java +++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/utils/HttpHandler.java @@ -2,7 +2,12 @@ import okhttp3.*; +import javax.net.ssl.*; import java.io.IOException; +import java.security.KeyStore; +import java.security.SecureRandom; +import java.security.cert.X509Certificate; +import java.util.Arrays; import java.util.Map; import java.util.Optional; import java.util.concurrent.TimeUnit; @@ -124,11 +129,14 @@ * @return the HttpHandler instance */ private OkHttpClient getClient(Integer timeout, TimeUnit timeUnit){ - return new OkHttpClient - .Builder() - .connectTimeout(timeout, timeUnit) - .readTimeout(timeout, timeUnit) - .build(); +// return new OkHttpClient +// .Builder() +// .sslSocketFactory(getSSLSocketFactory(),getX509TrustManager()) +// .hostnameVerifier(getHostnameVerifier()) +// .connectTimeout(timeout, timeUnit) +// .readTimeout(timeout, timeUnit) +// .build(); + return OKHttpUtil.getInstance(); } /** @@ -208,5 +216,67 @@ } } + /** + * description 蹇界暐https璇佷功楠岃瘉 + */ + private static HostnameVerifier getHostnameVerifier() { + HostnameVerifier hostnameVerifier = new HostnameVerifier() { + @Override + public boolean verify(String s, SSLSession sslSession) { + return true; + } + }; + return hostnameVerifier; + } + + /** + * description 蹇界暐https璇佷功楠岃瘉 + */ + private static SSLSocketFactory getSSLSocketFactory() { + try { + SSLContext sslContext = SSLContext.getInstance("SSL"); + sslContext.init(null, getTrustManager(), new SecureRandom()); + return sslContext.getSocketFactory(); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + private static X509TrustManager getX509TrustManager() { + X509TrustManager trustManager = null; + try { + TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); + trustManagerFactory.init((KeyStore) null); + TrustManager[] trustManagers = trustManagerFactory.getTrustManagers(); + if (trustManagers.length != 1 || !(trustManagers[0] instanceof X509TrustManager)) { + throw new IllegalStateException("Unexpected default trust managers:" + Arrays.toString(trustManagers)); + } + trustManager = (X509TrustManager) trustManagers[0]; + } catch (Exception e) { + e.printStackTrace(); + } + + return trustManager; + } + + private static TrustManager[] getTrustManager() { + TrustManager[] trustAllCerts = new TrustManager[]{ + new X509TrustManager() { + @Override + public void checkClientTrusted(X509Certificate[] chain, String authType) { + } + + @Override + public void checkServerTrusted(X509Certificate[] chain, String authType) { + } + + @Override + public X509Certificate[] getAcceptedIssuers() { + return new X509Certificate[]{}; + } + } + }; + return trustAllCerts; + } } -- Gitblit v1.9.1