|
@@ -0,0 +1,50 @@
|
|
|
|
|
+package com.zksy.screen.utils;
|
|
|
|
|
+
|
|
|
|
|
+import okhttp3.OkHttpClient;
|
|
|
|
|
+
|
|
|
|
|
+import javax.net.ssl.*;
|
|
|
|
|
+import java.security.GeneralSecurityException;
|
|
|
|
|
+import java.security.cert.X509Certificate;
|
|
|
|
|
+
|
|
|
|
|
+public class UnsafeOkHttpClient {
|
|
|
|
|
+ public static OkHttpClient getUnsafeOkHttpClient() {
|
|
|
|
|
+ // Create a trust manager that does not validate certificate chains
|
|
|
|
|
+ final 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[0];
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ // Install the all-trusting trust manager
|
|
|
|
|
+ try {
|
|
|
|
|
+ final SSLContext sslContext = SSLContext.getInstance("SSL");
|
|
|
|
|
+ sslContext.init(null, trustAllCerts, new java.security.SecureRandom());
|
|
|
|
|
+ // Create an ssl socket factory with our all-trusting manager
|
|
|
|
|
+ final SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
|
|
|
|
|
+
|
|
|
|
|
+ OkHttpClient okHttpClient = new OkHttpClient.Builder()
|
|
|
|
|
+ .sslSocketFactory(sslSocketFactory, (X509TrustManager)trustAllCerts[0])
|
|
|
|
|
+ .hostnameVerifier(new HostnameVerifier() {
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public boolean verify(String hostname, SSLSession session) {
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ .build();
|
|
|
|
|
+ return okHttpClient;
|
|
|
|
|
+ } catch (GeneralSecurityException e) {
|
|
|
|
|
+ throw new RuntimeException(e);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|