Revert "fix: check if passphrase is necessary before asking for it"
Didn't fix the issue.
This reverts commit d8f76b33e9
.
This commit is contained in:
parent
d8f76b33e9
commit
ef39ef94cf
5 changed files with 1 additions and 33 deletions
|
@ -45,10 +45,6 @@ constructor(
|
||||||
out: ByteArrayOutputStream,
|
out: ByteArrayOutputStream,
|
||||||
) = withContext(dispatcherProvider.io()) { decryptPgp(password, identities, message, out) }
|
) = withContext(dispatcherProvider.io()) { decryptPgp(password, identities, message, out) }
|
||||||
|
|
||||||
fun isPasswordProtected(message: ByteArrayInputStream): Boolean {
|
|
||||||
return pgpCryptoHandler.isPassphraseProtected(message)
|
|
||||||
}
|
|
||||||
|
|
||||||
suspend fun encrypt(
|
suspend fun encrypt(
|
||||||
identities: List<PGPIdentifier>,
|
identities: List<PGPIdentifier>,
|
||||||
content: ByteArrayInputStream,
|
content: ByteArrayInputStream,
|
||||||
|
|
|
@ -177,7 +177,7 @@ class DecryptActivity : BasePGPActivity() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private suspend fun askPassphrase(
|
private fun askPassphrase(
|
||||||
isError: Boolean,
|
isError: Boolean,
|
||||||
gpgIdentifiers: List<PGPIdentifier>,
|
gpgIdentifiers: List<PGPIdentifier>,
|
||||||
authResult: Result,
|
authResult: Result,
|
||||||
|
@ -187,14 +187,6 @@ class DecryptActivity : BasePGPActivity() {
|
||||||
} else {
|
} else {
|
||||||
finish()
|
finish()
|
||||||
}
|
}
|
||||||
if (
|
|
||||||
!repository.isPasswordProtected(
|
|
||||||
withContext(dispatcherProvider.io()) { File(fullPath).readBytes().inputStream() }
|
|
||||||
)
|
|
||||||
) {
|
|
||||||
decryptWithPassphrase(password = "", gpgIdentifiers = gpgIdentifiers)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
val dialog = PasswordDialog()
|
val dialog = PasswordDialog()
|
||||||
if (isError) {
|
if (isError) {
|
||||||
dialog.setError()
|
dialog.setError()
|
||||||
|
|
|
@ -41,10 +41,4 @@ public interface CryptoHandler<Key, EncOpts : CryptoOptions, DecryptOpts : Crypt
|
||||||
|
|
||||||
/** Given a [fileName], return whether this instance can handle it. */
|
/** Given a [fileName], return whether this instance can handle it. */
|
||||||
public fun canHandle(fileName: String): Boolean
|
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
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -139,14 +139,6 @@ constructor(
|
||||||
/** @see KeyManager.getKeyById */
|
/** @see KeyManager.getKeyById */
|
||||||
override suspend fun getKeyId(key: PGPKey): PGPIdentifier? = tryGetId(key)
|
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. */
|
/** Checks if [keyDir] exists and attempts to create it if not. */
|
||||||
private fun keyDirExists(): Boolean {
|
private fun keyDirExists(): Boolean {
|
||||||
return keyDir.exists() || keyDir.mkdirs()
|
return keyDir.exists() || keyDir.mkdirs()
|
||||||
|
|
|
@ -22,7 +22,6 @@ import org.bouncycastle.openpgp.PGPSecretKeyRingCollection
|
||||||
import org.bouncycastle.util.io.Streams
|
import org.bouncycastle.util.io.Streams
|
||||||
import org.pgpainless.PGPainless
|
import org.pgpainless.PGPainless
|
||||||
import org.pgpainless.decryption_verification.ConsumerOptions
|
import org.pgpainless.decryption_verification.ConsumerOptions
|
||||||
import org.pgpainless.decryption_verification.MessageInspector
|
|
||||||
import org.pgpainless.encryption_signing.EncryptionOptions
|
import org.pgpainless.encryption_signing.EncryptionOptions
|
||||||
import org.pgpainless.encryption_signing.ProducerOptions
|
import org.pgpainless.encryption_signing.ProducerOptions
|
||||||
import org.pgpainless.exception.WrongPassphraseException
|
import org.pgpainless.exception.WrongPassphraseException
|
||||||
|
@ -137,9 +136,4 @@ public class PGPainlessCryptoHandler @Inject constructor() :
|
||||||
public override fun canHandle(fileName: String): Boolean {
|
public override fun canHandle(fileName: String): Boolean {
|
||||||
return fileName.substringAfterLast('.', "") == "gpg"
|
return fileName.substringAfterLast('.', "") == "gpg"
|
||||||
}
|
}
|
||||||
|
|
||||||
public override fun isPassphraseProtected(message: InputStream): Boolean {
|
|
||||||
val info = MessageInspector.determineEncryptionInfoForMessage(message)
|
|
||||||
return info.isPassphraseEncrypted
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue