You've already forked TrickyStore
mirror of
https://github.com/5ec1cff/TrickyStore.git
synced 2025-09-06 06:37:07 +00:00
use bouncycastle
This commit is contained in:
@@ -1,12 +1,12 @@
|
|||||||
[versions]
|
[versions]
|
||||||
agp = "8.5.0"
|
agp = "8.5.0"
|
||||||
|
bcpkix-jdk18on = "1.78.1"
|
||||||
kotlin = "2.0.0"
|
kotlin = "2.0.0"
|
||||||
annotation = "1.8.0"
|
annotation = "1.8.0"
|
||||||
bcpkix-jdk15on = "1.58.0.0"
|
|
||||||
|
|
||||||
[libraries]
|
[libraries]
|
||||||
annotation = { module = "androidx.annotation:annotation", version.ref = "annotation" }
|
annotation = { module = "androidx.annotation:annotation", version.ref = "annotation" }
|
||||||
bcpkix-jdk15on = { module = "com.madgag.spongycastle:bcpkix-jdk15on", version.ref = "bcpkix-jdk15on" }
|
bcpkix-jdk18on = { module = "org.bouncycastle:bcpkix-jdk18on", version.ref = "bcpkix-jdk18on" }
|
||||||
|
|
||||||
[plugins]
|
[plugins]
|
||||||
agp-app = { id = "com.android.application", version.ref = "agp" }
|
agp-app = { id = "com.android.application", version.ref = "agp" }
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import com.android.build.api.dsl.Packaging
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
alias(libs.plugins.jetbrains.kotlin.android)
|
alias(libs.plugins.jetbrains.kotlin.android)
|
||||||
alias(libs.plugins.agp.app)
|
alias(libs.plugins.agp.app)
|
||||||
@@ -29,10 +31,15 @@ android {
|
|||||||
signingConfig = signingConfigs["debug"]
|
signingConfig = signingConfigs["debug"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
packaging {
|
||||||
|
resources {
|
||||||
|
excludes += "**"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compileOnly(project(":stub"))
|
compileOnly(project(":stub"))
|
||||||
compileOnly(libs.annotation)
|
compileOnly(libs.annotation)
|
||||||
implementation(libs.bcpkix.jdk15on)
|
implementation(libs.bcpkix.jdk18on)
|
||||||
}
|
}
|
||||||
@@ -4,27 +4,27 @@ import android.os.Build;
|
|||||||
import android.security.keystore.KeyProperties;
|
import android.security.keystore.KeyProperties;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import org.spongycastle.asn1.ASN1Boolean;
|
import org.bouncycastle.asn1.ASN1Boolean;
|
||||||
import org.spongycastle.asn1.ASN1Encodable;
|
import org.bouncycastle.asn1.ASN1Encodable;
|
||||||
import org.spongycastle.asn1.ASN1EncodableVector;
|
import org.bouncycastle.asn1.ASN1EncodableVector;
|
||||||
import org.spongycastle.asn1.ASN1Enumerated;
|
import org.bouncycastle.asn1.ASN1Enumerated;
|
||||||
import org.spongycastle.asn1.ASN1ObjectIdentifier;
|
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
|
||||||
import org.spongycastle.asn1.ASN1OctetString;
|
import org.bouncycastle.asn1.ASN1OctetString;
|
||||||
import org.spongycastle.asn1.ASN1Sequence;
|
import org.bouncycastle.asn1.ASN1Sequence;
|
||||||
import org.spongycastle.asn1.ASN1TaggedObject;
|
import org.bouncycastle.asn1.ASN1TaggedObject;
|
||||||
import org.spongycastle.asn1.DEROctetString;
|
import org.bouncycastle.asn1.DEROctetString;
|
||||||
import org.spongycastle.asn1.DERSequence;
|
import org.bouncycastle.asn1.DERSequence;
|
||||||
import org.spongycastle.asn1.DERTaggedObject;
|
import org.bouncycastle.asn1.DERTaggedObject;
|
||||||
import org.spongycastle.asn1.x509.Extension;
|
import org.bouncycastle.asn1.x509.Extension;
|
||||||
import org.spongycastle.cert.X509CertificateHolder;
|
import org.bouncycastle.cert.X509CertificateHolder;
|
||||||
import org.spongycastle.cert.X509v3CertificateBuilder;
|
import org.bouncycastle.cert.X509v3CertificateBuilder;
|
||||||
import org.spongycastle.cert.jcajce.JcaX509CertificateConverter;
|
import org.bouncycastle.cert.jcajce.JcaX509CertificateConverter;
|
||||||
import org.spongycastle.openssl.PEMKeyPair;
|
import org.bouncycastle.openssl.PEMKeyPair;
|
||||||
import org.spongycastle.openssl.PEMParser;
|
import org.bouncycastle.openssl.PEMParser;
|
||||||
import org.spongycastle.openssl.jcajce.JcaPEMKeyConverter;
|
import org.bouncycastle.openssl.jcajce.JcaPEMKeyConverter;
|
||||||
import org.spongycastle.operator.ContentSigner;
|
import org.bouncycastle.operator.ContentSigner;
|
||||||
import org.spongycastle.operator.jcajce.JcaContentSignerBuilder;
|
import org.bouncycastle.operator.jcajce.JcaContentSignerBuilder;
|
||||||
import org.spongycastle.util.io.pem.PemReader;
|
import org.bouncycastle.util.io.pem.PemReader;
|
||||||
|
|
||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
import java.io.StringReader;
|
import java.io.StringReader;
|
||||||
@@ -108,20 +108,6 @@ public final class Android {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Field getField(String fieldName) {
|
|
||||||
Field field = null;
|
|
||||||
try {
|
|
||||||
field = Build.class.getDeclaredField(fieldName);
|
|
||||||
} catch (Throwable ignored) {
|
|
||||||
try {
|
|
||||||
field = Build.VERSION.class.getDeclaredField(fieldName);
|
|
||||||
} catch (Throwable t) {
|
|
||||||
Log.e(TAG, "Couldn't find field " + fieldName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return field;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Certificate[] engineGetCertificateChain(Certificate[] caList) {
|
public static Certificate[] engineGetCertificateChain(Certificate[] caList) {
|
||||||
if (caList == null) throw new UnsupportedOperationException("caList is null!");
|
if (caList == null) throw new UnsupportedOperationException("caList is null!");
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user