Compare commits

...

2 Commits

Author SHA1 Message Date
semantic-release-bot
c9716be205 chore(release): 1.4.1 [skip ci]
## [1.4.1](https://github.com/revanced/revanced-cli/compare/v1.4.0...v1.4.1) (2022-06-14)

### Bug Fixes

* move the keystore to the output directory ([6ceb449](6ceb449cf8))
2022-06-14 22:01:33 +00:00
oSumAtrIX
6ceb449cf8 fix: move the keystore to the output directory 2022-06-14 23:59:59 +02:00
3 changed files with 15 additions and 4 deletions

View File

@@ -1,3 +1,10 @@
## [1.4.1](https://github.com/revanced/revanced-cli/compare/v1.4.0...v1.4.1) (2022-06-14)
### Bug Fixes
* move the keystore to the output directory ([6ceb449](https://github.com/revanced/revanced-cli/commit/6ceb449cf8539a92d89eeba8136fdc686319e2ef))
# [1.4.0](https://github.com/revanced/revanced-cli/compare/v1.3.3...v1.4.0) (2022-06-14)

View File

@@ -16,9 +16,10 @@ object Signing {
// sign the alignedOutput and write to signedOutput
// the reason is, in case the signer fails
// it does not damage the output file
Signer(cn, password).signApk(alignedOutput, signedOutput)
val keyStore = Signer(cn, password).signApk(alignedOutput, signedOutput)
// afterwards copy over the file to the output
// afterwards copy over the file and the keystore to the output
signedOutput.copyTo(outputFile, true)
keyStore.copyTo(outputFile.resolveSibling(keyStore.name), true)
}
}

View File

@@ -48,10 +48,11 @@ internal class Signer(
return JcaX509CertificateConverter().getCertificate(builder.build(signer)) to pair.private
}
fun signApk(input: File, output: File) {
fun signApk(input: File, output: File): File {
Security.addProvider(BouncyCastleProvider())
val ks = File(input.parent, "revanced-cli.keystore")
// TODO: keystore should be saved securely
val ks = File(input.parent, "${output.nameWithoutExtension}.keystore")
if (!ks.exists()) newKeystore(ks)
val keyStore = KeyStore.getInstance("BKS", "BC")
@@ -70,5 +71,7 @@ internal class Signer(
signer.setOutputApk(output)
signer.build().sign()
return ks
}
}