From a33069b48114c927af5d2154e6ad216cb31f065b Mon Sep 17 00:00:00 2001 From: Dakkshesh Date: Mon, 11 Aug 2025 20:25:10 +0530 Subject: [PATCH] java: CertHack: Dont append moduleHash for < Android 12 - To avoid "Unknown tag 724" error on older platfoms like Android 10/11 - Conditionally downgrade keymaster versions to 3.0 on these platforms Signed-off-by: Dakkshesh --- .../beakthoven/TrickyStoreOSS/CertificateHacker.kt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/io/github/beakthoven/TrickyStoreOSS/CertificateHacker.kt b/app/src/main/java/io/github/beakthoven/TrickyStoreOSS/CertificateHacker.kt index 11e50bd..dc53b16 100644 --- a/app/src/main/java/io/github/beakthoven/TrickyStoreOSS/CertificateHacker.kt +++ b/app/src/main/java/io/github/beakthoven/TrickyStoreOSS/CertificateHacker.kt @@ -721,8 +721,11 @@ object CertificateHacker { DERTaggedObject(true, 706, osPatchLevel), DERTaggedObject(true, 718, vendorPatchLevel), DERTaggedObject(true, 719, bootPatchLevel), - DERTaggedObject(true, 724, moduleHash) ) + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + teeEnforcedObjects.add(DERTaggedObject(true, 724, moduleHash)) + } params.brand?.let { teeEnforcedObjects.add(DERTaggedObject(true, 710, DEROctetString(it))) } params.device?.let { teeEnforcedObjects.add(DERTaggedObject(true, 711, DEROctetString(it))) } @@ -760,9 +763,9 @@ object CertificateHacker { softwareEnforcedEncodables: Array, params: KeyGenParameters ): ASN1OctetString { - val attestationVersion = ASN1Integer(400L) + val attestationVersion = ASN1Integer(if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) 400L else 300L) val attestationSecurityLevel = ASN1Enumerated(1) - val keymasterVersion = ASN1Integer(400L) + val keymasterVersion = ASN1Integer(if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) 400L else 300L) val keymasterSecurityLevel = ASN1Enumerated(1) val attestationChallenge = DEROctetString(params.attestationChallenge ?: ByteArray(0)) val uniqueId = DEROctetString(ByteArray(0))