Update to APK Signature Scheme v2

This commit is contained in:
vvb2060
2020-08-08 05:00:49 -07:00
committed by John Wu
parent fe2388394d
commit 2e95d9f07e
7 changed files with 1215 additions and 543 deletions

View File

@@ -39,7 +39,7 @@ class Keygen(context: Context) : CertKeyProvider {
}
private val start = Calendar.getInstance().apply { add(Calendar.MONTH, -3) }
private val end = Calendar.getInstance().apply { add(Calendar.YEAR, 30) }
private val end = start.apply { add(Calendar.YEAR, 30) }
override val cert get() = provider.cert
override val key get() = provider.key

View File

@@ -13,7 +13,7 @@ import com.topjohnwu.magisk.data.network.GithubRawServices
import com.topjohnwu.magisk.ktx.get
import com.topjohnwu.magisk.ktx.writeTo
import com.topjohnwu.signing.JarMap
import com.topjohnwu.signing.SignAPK
import com.topjohnwu.signing.SignApk
import com.topjohnwu.superuser.Shell
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
@@ -29,10 +29,8 @@ import java.security.SecureRandom
object PatchAPK {
private const val ALPHA = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
private const val DIGITS = "0123456789"
const val ALPHANUM = ALPHA + DIGITS
private const val ALPHANUMDOTS = "$ALPHANUM............"
private const val ALPHA = "abcdefghijklmnopqrstuvwxyz"
private const val ALPHADOTS = "$ALPHA....."
private const val APP_ID = "com.topjohnwu.magisk"
private const val APP_NAME = "Magisk Manager"
@@ -48,7 +46,7 @@ object PatchAPK {
next = if (prev == '.' || i == len - 1) {
ALPHA[random.nextInt(ALPHA.length)]
} else {
ALPHANUMDOTS[random.nextInt(ALPHANUMDOTS.length)]
ALPHADOTS[random.nextInt(ALPHADOTS.length)]
}
builder.append(next)
prev = next
@@ -96,7 +94,7 @@ object PatchAPK {
// Write apk changes
jar.getOutputStream(je).write(xml)
val keys = Keygen(get())
SignAPK.sign(keys.cert, keys.key, jar, FileOutputStream(out).buffered())
SignApk.sign(keys.cert, keys.key, jar, FileOutputStream(out))
} catch (e: Exception) {
Timber.e(e)
return false