|
29 | 29 | import android.media.MediaPlayer; |
30 | 30 | import android.media.Ringtone; |
31 | 31 | import android.media.RingtoneManager; |
| 32 | +import android.net.SSLCertificateSocketFactory; |
32 | 33 | import android.net.Uri; |
33 | 34 | import android.os.AsyncTask; |
34 | 35 | import android.os.Build; |
|
43 | 44 | import com.google.gson.Gson; |
44 | 45 | import com.yariksoffice.lingver.Lingver; |
45 | 46 |
|
| 47 | +import org.apache.http.conn.ssl.AllowAllHostnameVerifier; |
| 48 | + |
46 | 49 | import java.io.File; |
47 | 50 | import java.io.IOException; |
48 | 51 | import java.io.PrintWriter; |
| 52 | +import java.net.HttpURLConnection; |
49 | 53 | import java.util.ArrayList; |
50 | 54 | import java.util.Iterator; |
51 | 55 | import java.util.List; |
52 | 56 | import java.util.Locale; |
53 | 57 | import java.util.concurrent.TimeUnit; |
54 | 58 |
|
| 59 | +import javax.net.ssl.HttpsURLConnection; |
| 60 | +import javax.net.ssl.SSLContext; |
| 61 | +import javax.net.ssl.TrustManager; |
| 62 | +import javax.net.ssl.X509TrustManager; |
| 63 | + |
55 | 64 | import androidx.annotation.NonNull; |
56 | 65 | import androidx.appcompat.app.AlertDialog; |
57 | 66 | import androidx.appcompat.app.AppCompatActivity; |
|
74 | 83 | import static com.zoffcc.applications.trifa.MainActivity.MAIN_VFS_NAME; |
75 | 84 | import static com.zoffcc.applications.trifa.MainActivity.PREF__DB_secrect_key; |
76 | 85 | import static com.zoffcc.applications.trifa.MainActivity.PREF__orbot_enabled; |
| 86 | +import static com.zoffcc.applications.trifa.MainActivity.PREF__trust_all_webcerts; |
77 | 87 | import static com.zoffcc.applications.trifa.MainActivity.SD_CARD_ENC_CHATS_EXPORT_DIR; |
78 | 88 | import static com.zoffcc.applications.trifa.MainActivity.SD_CARD_ENC_FILES_EXPORT_DIR; |
79 | 89 | import static com.zoffcc.applications.trifa.MainActivity.SD_CARD_FILES_EXPORT_DIR; |
@@ -372,8 +382,61 @@ public void onClick(View v) |
372 | 382 | } |
373 | 383 | else |
374 | 384 | { |
| 385 | + /* |
| 386 | + * |
| 387 | + * this will trust all CERTS |
| 388 | + * !!DANGER!! !!DANGER!! |
| 389 | + */ |
| 390 | + TrustManager[] trustAllCerts = new TrustManager[]{ |
| 391 | + new X509TrustManager() { |
| 392 | + @Override |
| 393 | + public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) { |
| 394 | + } |
| 395 | + |
| 396 | + @Override |
| 397 | + public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) { |
| 398 | + } |
| 399 | + |
| 400 | + @Override |
| 401 | + public java.security.cert.X509Certificate[] getAcceptedIssuers() { |
| 402 | + return new java.security.cert.X509Certificate[]{}; |
| 403 | + } |
| 404 | + } |
| 405 | + }; |
| 406 | + SSLContext sslContext = SSLContext.getInstance("SSL"); |
| 407 | + sslContext.init(null, trustAllCerts, new java.security.SecureRandom()); |
| 408 | + /* |
| 409 | + * |
| 410 | + * this will trust all CERTS |
| 411 | + * !!DANGER!! !!DANGER!! |
| 412 | + */ |
| 413 | + |
| 414 | + // this is correct call in all cases ------------- |
| 415 | + // this is correct call in all cases ------------- |
| 416 | + OkHttpClient.Builder newBuilder = new OkHttpClient.Builder(); |
| 417 | + // this is correct call in all cases ------------- |
| 418 | + // this is correct call in all cases ------------- |
| 419 | + |
| 420 | + /* |
| 421 | + * |
| 422 | + * this will trust all CERTS |
| 423 | + * !!DANGER!! !!DANGER!! |
| 424 | + * to avoid this: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. |
| 425 | + * when your android is just too old |
| 426 | + */ |
| 427 | + if (PREF__trust_all_webcerts) |
| 428 | + { |
| 429 | + newBuilder.sslSocketFactory(sslContext.getSocketFactory(), (X509TrustManager) trustAllCerts[0]); |
| 430 | + newBuilder.hostnameVerifier((hostname, session) -> true); |
| 431 | + } |
| 432 | + /* |
| 433 | + * |
| 434 | + * this will trust all CERTS |
| 435 | + * !!DANGER!! !!DANGER!! |
| 436 | + */ |
| 437 | + |
375 | 438 | Log.i(TAG, "StrongOkHttpClientBuilder:002"); |
376 | | - onConnected(new OkHttpClient.Builder(). |
| 439 | + onConnected(newBuilder. |
377 | 440 | addNetworkInterceptor(new Interceptor() |
378 | 441 | { |
379 | 442 | @NonNull |
|
0 commit comments