From aac74ae4515aa1d746f46287029441f5a945c98e Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Sat, 23 Oct 2021 17:02:50 +0530 Subject: Switch new PGP backend to use PGPainless (#1522) * crypto-pgpainless: init * crypto-pgpainless: add an opinionated CryptoHandler impl * app: migrate to crypto-pgpainless * crypto-pgp: remove * github: remove now unused instrumentation tests job * crypto-common: fixup package names * wip(crypto-pgpainless): add `PGPKeyPair` and `PGPKeyManager` Signed-off-by: Aditya Wasan (cherry picked from commit 02d07e9e797a8600cc8c534a731dfffcc44cfdde) * crypto-pgpainless: use hex-encoded key IDs * crypto-pgpainless: replace legacy Gopenpgp-generated key file * crypto-pgpainless: fix CryptoConstants source set * crypto-pgpainless: fix tests * crypto-pgpainless: reinstate PGPKeyManager tests Co-authored-by: Aditya Wasan --- .../dev/msfjarvis/aps/ui/autofill/AutofillDecryptActivityV2.kt | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'app/src/main/java/dev/msfjarvis/aps/ui/autofill') diff --git a/app/src/main/java/dev/msfjarvis/aps/ui/autofill/AutofillDecryptActivityV2.kt b/app/src/main/java/dev/msfjarvis/aps/ui/autofill/AutofillDecryptActivityV2.kt index bb2e6492..5351c5d2 100644 --- a/app/src/main/java/dev/msfjarvis/aps/ui/autofill/AutofillDecryptActivityV2.kt +++ b/app/src/main/java/dev/msfjarvis/aps/ui/autofill/AutofillDecryptActivityV2.kt @@ -28,6 +28,7 @@ import dev.msfjarvis.aps.util.autofill.AutofillPreferences import dev.msfjarvis.aps.util.autofill.AutofillResponseBuilder import dev.msfjarvis.aps.util.autofill.DirectoryStructure import dev.msfjarvis.aps.util.extensions.asLog +import java.io.ByteArrayOutputStream import java.io.File import javax.inject.Inject import kotlinx.coroutines.Dispatchers @@ -130,11 +131,14 @@ class AutofillDecryptActivityV2 : AppCompatActivity() { runCatching { val crypto = cryptos.first { it.canHandle(file.absolutePath) } withContext(Dispatchers.IO) { + val outputStream = ByteArrayOutputStream() crypto.decrypt( DecryptActivityV2.PRIV_KEY, - DecryptActivityV2.PASS.toByteArray(charset = Charsets.UTF_8), - encryptedInput.readBytes() + DecryptActivityV2.PASS, + encryptedInput, + outputStream, ) + outputStream } } .onFailure { e -> @@ -143,7 +147,7 @@ class AutofillDecryptActivityV2 : AppCompatActivity() { } .onSuccess { result -> return runCatching { - val entry = passwordEntryFactory.create(lifecycleScope, result) + val entry = passwordEntryFactory.create(lifecycleScope, result.toByteArray()) AutofillPreferences.credentialsFromStoreEntry(this, file, entry, directoryStructure) } .getOrElse { e -> -- cgit v1.2.3