yayan 1 year ago
parent
commit
ccd99efc03
1 changed files with 6 additions and 27 deletions
  1. 6 27
      cpaas-lite/src/main/java/io/nexilis/service/core/Network.kt

+ 6 - 27
cpaas-lite/src/main/java/io/nexilis/service/core/Network.kt

@@ -39,8 +39,7 @@ import javax.net.ssl.TrustManager
 import javax.net.ssl.X509TrustManager
 import javax.security.cert.CertificateException
 
-
-fun getUnsafeOkHttpClient(): OkHttpClient {
+fun getUnsafeOkHttpClientBuilder() : OkHttpClient.Builder{
     return try {
         val trustAllCerts = arrayOf<TrustManager>(
             @SuppressLint("CustomX509TrustManager")
@@ -67,11 +66,14 @@ fun getUnsafeOkHttpClient(): OkHttpClient {
         builder.followRedirects(false)
         builder.sslSocketFactory(sslSocketFactory, trustAllCerts[0] as X509TrustManager)
         builder.hostnameVerifier { _: String?, _: SSLSession? -> true }
-        builder.build()
+        builder
     } catch (e: Exception) {
         throw RuntimeException(e)
     }
 }
+fun getUnsafeOkHttpClient(): OkHttpClient {
+    return getUnsafeOkHttpClientBuilder().build()
+}
 
 class Network {
 
@@ -178,30 +180,7 @@ class Network {
         url: String,
         onProgress: ((Long, Long) -> Unit) = { _, _ -> }
     ): Uri? {
-        val trustAllCerts = arrayOf<TrustManager>(
-            @SuppressLint("CustomX509TrustManager")
-            object : X509TrustManager {
-                @SuppressLint("TrustAllX509TrustManager")
-                @Throws(CertificateException::class)
-                override fun checkClientTrusted(chain: Array<X509Certificate>, authType: String) {
-                }
-
-                @SuppressLint("TrustAllX509TrustManager")
-                @Throws(CertificateException::class)
-                override fun checkServerTrusted(chain: Array<X509Certificate>, authType: String) {
-                }
-
-                override fun getAcceptedIssuers(): Array<X509Certificate> {
-                    return arrayOf()
-                }
-            }
-        )
-        val sslContext = SSLContext.getInstance("TLS")
-        sslContext.init(null, trustAllCerts, SecureRandom())
-        val sslSocketFactory: SSLSocketFactory = sslContext.socketFactory
-        val client = OkHttpClient.Builder()
-            .sslSocketFactory(sslSocketFactory, trustAllCerts[0] as X509TrustManager)
-            .hostnameVerifier { _: String?, _: SSLSession? -> true }
+        val client = getUnsafeOkHttpClientBuilder()
             .addNetworkInterceptor {
                 val originalResponse = it.proceed(it.request())
                 val interceptor = originalResponse.newBuilder()