diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml deleted file mode 100644 index e69de29..0000000 diff --git a/buildSrc/src/main/kotlin/VersionCatalogLibraries.kt b/buildSrc/src/main/kotlin/VersionCatalogLibraries.kt deleted file mode 100644 index faaf8dd..0000000 --- a/buildSrc/src/main/kotlin/VersionCatalogLibraries.kt +++ /dev/null @@ -1,6 +0,0 @@ -import org.gradle.api.artifacts.MinimalExternalModuleDependency -import org.gradle.api.artifacts.VersionCatalog -import org.gradle.api.provider.Provider - -private fun VersionCatalog.getLibrary(library: String) = findLibrary(library).get() - diff --git a/buildSrc/src/main/kotlin/VersionCatalogVersions.kt b/buildSrc/src/main/kotlin/VersionCatalogVersions.kt deleted file mode 100644 index e556827..0000000 --- a/buildSrc/src/main/kotlin/VersionCatalogVersions.kt +++ /dev/null @@ -1,19 +0,0 @@ -import org.gradle.api.artifacts.VersionCatalog - -val VersionCatalog.sdkCompile: String - get() = findVersion("compileSdk").get().requiredVersion - -val VersionCatalog.sdkMin: String - get() = findVersion("minSdk").get().requiredVersion - -val VersionCatalog.sdkTarget: String - get() = findVersion("targetSdk").get().requiredVersion - -val VersionCatalog.jvmBytecode: String - get() = findVersion("jvmBytecode").get().requiredVersion - -val VersionCatalog.versionCode: String - get() = findVersion("versionCode").get().requiredVersion - -val VersionCatalog.versionName: String - get() = findVersion("versionName").get().requiredVersion diff --git a/common-template b/common-template index d6f303b..8f595d1 160000 --- a/common-template +++ b/common-template @@ -1 +1 @@ -Subproject commit d6f303bf879a2da1706cfdacaf2bbe0c326044bd +Subproject commit 8f595d1a472afe437a56b8ce70ec6ac8e375c3ed diff --git a/data/src/main/java/ru/template/data/network/ServerUrl.kt b/data/src/main/java/ru/template/data/network/ServerUrl.kt index 47ff727..9e562f9 100644 --- a/data/src/main/java/ru/template/data/network/ServerUrl.kt +++ b/data/src/main/java/ru/template/data/network/ServerUrl.kt @@ -1,3 +1,5 @@ +package ru.template.data.network + import ru.template.data.network.sslpinning.ServerInfo import ru.template.data.network.sslpinning.UrlInfo diff --git a/data/src/main/java/ru/template/data/network/sslpinning/TrustManagerUnsafe.kt b/data/src/main/java/ru/template/data/network/sslpinning/TrustManagerUnsafe.kt deleted file mode 100644 index 02ce243..0000000 --- a/data/src/main/java/ru/template/data/network/sslpinning/TrustManagerUnsafe.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.redmadrobot.data.network.sslpinning - -import java.security.cert.CertificateException -import java.security.cert.X509Certificate -import javax.net.ssl.X509TrustManager - -object TrustManagerUnsafe: X509TrustManager { - - @Throws(CertificateException::class) - override fun checkClientTrusted(chain: Array?, authType: String?) = Unit - - @Throws(CertificateException::class) - override fun checkServerTrusted(chain: Array?, authType: String?) = Unit - - override fun getAcceptedIssuers() = emptyArray() -} diff --git a/data/src/main/java/ru/template/data/network/sslpinning/TrustManagerWithoutTls.kt b/data/src/main/java/ru/template/data/network/sslpinning/TrustManagerWithoutTls.kt deleted file mode 100644 index 92d52ca..0000000 --- a/data/src/main/java/ru/template/data/network/sslpinning/TrustManagerWithoutTls.kt +++ /dev/null @@ -1,49 +0,0 @@ -package com.redmadrobot.data.network.sslpinning - -import android.annotation.SuppressLint -import com.redmadrobot.data.network.NetworkConfig -import com.redmadrobot.domain.extension.toHex -import com.redmadrobot.domain.repository.ssl.SslPublicKeyRepository -import java.security.MessageDigest -import java.security.cert.CertificateException -import java.security.cert.X509Certificate -import java.util.Locale -import javax.net.ssl.X509TrustManager - -@SuppressLint("CustomX509TrustManager") -class TrustManagerWithoutTls( - private val networkConfig: NetworkConfig, - private val sslPublicKeyRepository: SslPublicKeyRepository -) : X509TrustManager { - - @SuppressLint("TrustAllX509TrustManager") - override fun checkClientTrusted(chain: Array?, authType: String?) = Unit - - override fun checkServerTrusted(chain: Array?, authType: String?) { - if (networkConfig.isSslPinningEnabled()) { - chain?.let { checkCertificateFingerprint(it) } - } - } - - override fun getAcceptedIssuers(): Array = emptyArray() - - private fun checkCertificateFingerprint(chain: Array) { - val pinFromServer = chain[0]?.let { getSha256FingerprintFormatted(it) } - networkConfig.getCurrentServer().getPins().also { - if (it.contains(pinFromServer)) { - sslPublicKeyRepository.setPublicKey(isValid = true) - return - } - } - sslPublicKeyRepository.setPublicKey(isValid = false) - throw CertificateException("Cannot validate server certificate") - } - - private fun getSha256FingerprintFormatted(certificate: X509Certificate): String { - return MessageDigest - .getInstance("SHA-256") - .digest(certificate.encoded) - .toHex(separator = ":").toUpperCase(Locale.getDefault()) - } - -} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 94d9411..4d1349c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -58,7 +58,7 @@ javapoet = "1.13.0" googleServices = "4.4.1" googleLicenses = "17.0.1" googleLicensesPlugin = "0.10.6" -firebaseBom = "32.7.4" +firebaseBom = "32.8.1" firebaseCrashlytics = "2.9.9" firebasePerf = "1.4.2" @@ -155,10 +155,6 @@ junit = { group = "junit", name = "junit", version.ref = "junit" } androidx-test-ext-junit = { group = "androidx.test.ext", name = "junit", version.ref = "androidx-test-ext-junit" } espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espresso-core" } -junit = { group = "junit", name = "junit", version.ref = "junit" } -androidx-test-ext-junit = { group = "androidx.test.ext", name = "junit", version.ref = "androidx-test-ext-junit" } -espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espresso-core" } - [plugins] android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }