summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHarsh Shandilya <me@msfjarvis.dev>2023-12-27 23:57:49 +0530
committerHarsh Shandilya <me@msfjarvis.dev>2023-12-27 23:57:49 +0530
commitef39ef94cfe4d1c1d04901695b9a91b441108bff (patch)
treed278419c990812f11f253e67ad1cba65049d204e
parentd8f76b33e9ea74eb567a115dd63559f6b27b2fce (diff)
Revert "fix: check if passphrase is necessary before asking for it"
Didn't fix the issue. This reverts commit d8f76b33e9ea74eb567a115dd63559f6b27b2fce.
-rw-r--r--app/src/main/java/app/passwordstore/data/crypto/CryptoRepository.kt4
-rw-r--r--app/src/main/java/app/passwordstore/ui/crypto/DecryptActivity.kt10
-rw-r--r--crypto/common/src/main/kotlin/app/passwordstore/crypto/CryptoHandler.kt6
-rw-r--r--crypto/pgpainless/src/main/kotlin/app/passwordstore/crypto/PGPKeyManager.kt8
-rw-r--r--crypto/pgpainless/src/main/kotlin/app/passwordstore/crypto/PGPainlessCryptoHandler.kt6
5 files changed, 1 insertions, 33 deletions
diff --git a/app/src/main/java/app/passwordstore/data/crypto/CryptoRepository.kt b/app/src/main/java/app/passwordstore/data/crypto/CryptoRepository.kt
index be3f8da3..0ce4b3e3 100644
--- a/app/src/main/java/app/passwordstore/data/crypto/CryptoRepository.kt
+++ b/app/src/main/java/app/passwordstore/data/crypto/CryptoRepository.kt
@@ -45,10 +45,6 @@ constructor(
out: ByteArrayOutputStream,
) = withContext(dispatcherProvider.io()) { decryptPgp(password, identities, message, out) }
- fun isPasswordProtected(message: ByteArrayInputStream): Boolean {
- return pgpCryptoHandler.isPassphraseProtected(message)
- }
-
suspend fun encrypt(
identities: List<PGPIdentifier>,
content: ByteArrayInputStream,
diff --git a/app/src/main/java/app/passwordstore/ui/crypto/DecryptActivity.kt b/app/src/main/java/app/passwordstore/ui/crypto/DecryptActivity.kt
index 56ac1fc0..9fb20af2 100644
--- a/app/src/main/java/app/passwordstore/ui/crypto/DecryptActivity.kt
+++ b/app/src/main/java/app/passwordstore/ui/crypto/DecryptActivity.kt
@@ -177,7 +177,7 @@ class DecryptActivity : BasePGPActivity() {
}
}
- private suspend fun askPassphrase(
+ private fun askPassphrase(
isError: Boolean,
gpgIdentifiers: List<PGPIdentifier>,
authResult: Result,
@@ -187,14 +187,6 @@ class DecryptActivity : BasePGPActivity() {
} else {
finish()
}
- if (
- !repository.isPasswordProtected(
- withContext(dispatcherProvider.io()) { File(fullPath).readBytes().inputStream() }
- )
- ) {
- decryptWithPassphrase(password = "", gpgIdentifiers = gpgIdentifiers)
- return
- }
val dialog = PasswordDialog()
if (isError) {
dialog.setError()
diff --git a/crypto/common/src/main/kotlin/app/passwordstore/crypto/CryptoHandler.kt b/crypto/common/src/main/kotlin/app/passwordstore/crypto/CryptoHandler.kt
index 20a4d1d9..898cf058 100644
--- a/crypto/common/src/main/kotlin/app/passwordstore/crypto/CryptoHandler.kt
+++ b/crypto/common/src/main/kotlin/app/passwordstore/crypto/CryptoHandler.kt
@@ -41,10 +41,4 @@ public interface CryptoHandler<Key, EncOpts : CryptoOptions, DecryptOpts : Crypt
/** Given a [fileName], return whether this instance can handle it. */
public fun canHandle(fileName: String): Boolean
-
- /**
- * Inspects the given encrypted [message] to notify user if a passphrase is necessary to decrypt
- * it.
- */
- public fun isPassphraseProtected(message: InputStream): Boolean
}
diff --git a/crypto/pgpainless/src/main/kotlin/app/passwordstore/crypto/PGPKeyManager.kt b/crypto/pgpainless/src/main/kotlin/app/passwordstore/crypto/PGPKeyManager.kt
index 41a797b6..8aa11803 100644
--- a/crypto/pgpainless/src/main/kotlin/app/passwordstore/crypto/PGPKeyManager.kt
+++ b/crypto/pgpainless/src/main/kotlin/app/passwordstore/crypto/PGPKeyManager.kt
@@ -139,14 +139,6 @@ constructor(
/** @see KeyManager.getKeyById */
override suspend fun getKeyId(key: PGPKey): PGPIdentifier? = tryGetId(key)
- public suspend fun isPasswordProtected(key: PGPKey): Boolean {
- val keyring = tryParseKeyring(key)
- if (keyring is PGPSecretKeyRing) {
- keyring.secretKey.keyEncryptionAlgorithm
- }
- return false
- }
-
/** Checks if [keyDir] exists and attempts to create it if not. */
private fun keyDirExists(): Boolean {
return keyDir.exists() || keyDir.mkdirs()
diff --git a/crypto/pgpainless/src/main/kotlin/app/passwordstore/crypto/PGPainlessCryptoHandler.kt b/crypto/pgpainless/src/main/kotlin/app/passwordstore/crypto/PGPainlessCryptoHandler.kt
index 72baa81a..a7087acf 100644
--- a/crypto/pgpainless/src/main/kotlin/app/passwordstore/crypto/PGPainlessCryptoHandler.kt
+++ b/crypto/pgpainless/src/main/kotlin/app/passwordstore/crypto/PGPainlessCryptoHandler.kt
@@ -22,7 +22,6 @@ import org.bouncycastle.openpgp.PGPSecretKeyRingCollection
import org.bouncycastle.util.io.Streams
import org.pgpainless.PGPainless
import org.pgpainless.decryption_verification.ConsumerOptions
-import org.pgpainless.decryption_verification.MessageInspector
import org.pgpainless.encryption_signing.EncryptionOptions
import org.pgpainless.encryption_signing.ProducerOptions
import org.pgpainless.exception.WrongPassphraseException
@@ -137,9 +136,4 @@ public class PGPainlessCryptoHandler @Inject constructor() :
public override fun canHandle(fileName: String): Boolean {
return fileName.substringAfterLast('.', "") == "gpg"
}
-
- public override fun isPassphraseProtected(message: InputStream): Boolean {
- val info = MessageInspector.determineEncryptionInfoForMessage(message)
- return info.isPassphraseEncrypted
- }
}