diff options
author | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-04-16 00:18:00 +0200 |
---|---|---|
committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-04-16 00:18:00 +0200 |
commit | ad6ac28782450c3b6f55fd7ae3c7a96b9a667b89 (patch) | |
tree | 6944dd8db69212b95132864d67f122c111453c9d /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java | |
parent | 08399dec4bbd63e6377b2bd876fbc07c235c65cb (diff) | |
download | open-keychain-ad6ac28782450c3b6f55fd7ae3c7a96b9a667b89.tar.gz open-keychain-ad6ac28782450c3b6f55fd7ae3c7a96b9a667b89.tar.bz2 open-keychain-ad6ac28782450c3b6f55fd7ae3c7a96b9a667b89.zip |
Fix SIGNATURE_UNKNOWN_PUB_KEY
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java')
-rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java index b3572d4a2..a9ad04108 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java @@ -405,8 +405,6 @@ public class PgpDecryptVerify { if (dataChunk instanceof PGPOnePassSignatureList) { updateProgress(R.string.progress_processing_signature, currentProgress, 100); - signatureResultBuilder.signatureAvailable(true); - PGPOnePassSignatureList sigList = (PGPOnePassSignatureList) dataChunk; // go through all signatures @@ -439,6 +437,7 @@ public class PgpDecryptVerify { // get the subkey which has been used to generate this signature signatureKey = publicKeyRing.getPublicKey(signature.getKeyID()); + signatureResultBuilder.signatureAvailable(true); signatureResultBuilder.knownKey(true); // TODO: uses the first pubkey for information signatureResultBuilder.userId(PgpKeyHelper.getMainUserId(publicKeyRing.getPublicKey())); @@ -458,9 +457,9 @@ public class PgpDecryptVerify { signatureResultBuilder.signatureKeyCertified(isSignatureKeyCertified); } else { // no key in our database -> return "unknown pub key" status including the first key id - signatureResultBuilder.knownKey(false); - if (!sigList.isEmpty()) { + signatureResultBuilder.signatureAvailable(true); + signatureResultBuilder.knownKey(false); signatureResultBuilder.keyId(sigList.get(0).getKeyID()); } } @@ -606,8 +605,6 @@ public class PgpDecryptVerify { throw new InvalidDataException(); } - signatureResultBuilder.signatureAvailable(true); - // go through all signatures // and find out for which signature we have a key in our database Long masterKeyId = null; @@ -641,6 +638,7 @@ public class PgpDecryptVerify { // get the subkey which has been used to generate this signature signatureKey = publicKeyRing.getPublicKey(signature.getKeyID()); + signatureResultBuilder.signatureAvailable(true); signatureResultBuilder.knownKey(true); // TODO: uses the first pubkey for information signatureResultBuilder.userId(PgpKeyHelper.getMainUserId(publicKeyRing.getPublicKey())); @@ -660,9 +658,9 @@ public class PgpDecryptVerify { signatureResultBuilder.signatureKeyCertified(isSignatureKeyCertified); } else { // no key in our database -> return "unknown pub key" status including the first key id - signatureResultBuilder.knownKey(false); - if (!sigList.isEmpty()) { + signatureResultBuilder.signatureAvailable(true); + signatureResultBuilder.knownKey(false); signatureResultBuilder.keyId(sigList.get(0).getKeyID()); } } |