diff --git a/README.md b/README.md index 3ec50d20..b5b3af43 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ *Pupil, Hitomi.la viewer for Android* ![](https://img.shields.io/github/downloads/tom5079/Pupil/total) -[![](https://img.shields.io/github/downloads/tom5079/Pupil/5.3.11/Pupil-v5.3.11.apk?color=%234fc3f7&label=DOWNLOAD%20APP&style=for-the-badge)](https://github.com/tom5079/Pupil/releases/download/5.3.11/Pupil-v5.3.11.apk) +[![](https://img.shields.io/github/downloads/tom5079/Pupil/5.3.12/Pupil-v5.3.12.apk?color=%234fc3f7&label=DOWNLOAD%20APP&style=for-the-badge)](https://github.com/tom5079/Pupil/releases/download/5.3.12/Pupil-v5.3.12.apk) [![](https://discordapp.com/api/guilds/610452916612104194/embed.png?style=banner2)](https://discord.gg/Stj4b5v) # Features diff --git a/app/build.gradle b/app/build.gradle index c8f09b86..755be840 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -38,7 +38,7 @@ android { compileSdk 34 targetSdkVersion 34 versionCode 69 - versionName "5.3.11" + versionName "5.3.12" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true } diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json index 56a45b2a..67f8afd5 100644 --- a/app/release/output-metadata.json +++ b/app/release/output-metadata.json @@ -12,7 +12,7 @@ "filters": [], "attributes": [], "versionCode": 69, - "versionName": "5.3.11", + "versionName": "5.3.12", "outputFile": "app-release.apk" } ], diff --git a/app/src/main/java/xyz/quaver/pupil/Pupil.kt b/app/src/main/java/xyz/quaver/pupil/Pupil.kt index 3e330d63..0bf2a719 100644 --- a/app/src/main/java/xyz/quaver/pupil/Pupil.kt +++ b/app/src/main/java/xyz/quaver/pupil/Pupil.kt @@ -58,6 +58,7 @@ import java.util.concurrent.Executors import java.util.concurrent.TimeUnit import javax.net.ssl.SSLContext import javax.net.ssl.TrustManagerFactory +import javax.net.ssl.X509TrustManager import kotlin.reflect.KClass typealias PupilInterceptor = (Interceptor.Chain) -> Response @@ -93,6 +94,15 @@ fun getSSLContext(context: Context): SSLContext { keyStore.setCertificateEntry("isrgrootx1", certificate) + val defaultTrustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()) + defaultTrustManagerFactory.init(null as KeyStore?) + + defaultTrustManagerFactory.trustManagers.filterIsInstance(X509TrustManager::class.java).forEach { trustManager -> + trustManager.acceptedIssuers.forEach { acceptedIssuer -> + keyStore.setCertificateEntry(acceptedIssuer.subjectDN.name, acceptedIssuer) + } + } + val trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()) trustManagerFactory.init(keyStore)