diff options
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure')
-rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java | 84 |
1 files changed, 33 insertions, 51 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 f0d605f4e..40d487a48 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java @@ -20,7 +20,6 @@ package org.sufficientlysecure.keychain.pgp; import android.net.Uri; -import org.openintents.openpgp.OpenPgpSignatureResult; import org.spongycastle.bcpg.ArmoredInputStream; import org.spongycastle.bcpg.SignatureSubpacketTags; import org.spongycastle.openpgp.PGPCompressedData; @@ -388,7 +387,7 @@ public class PgpDecryptVerify { PGPObjectFactory plainFact = new PGPObjectFactory(clear); Object dataChunk = plainFact.nextObject(); PGPOnePassSignature signature = null; - OpenPgpSignatureResult signatureResult = null; + OpenPgpSignatureResultBuilder signatureResultBuilder = new OpenPgpSignatureResultBuilder(); PGPPublicKey signatureKey = null; int signatureIndex = -1; boolean isSignatureKeyCertified = false; @@ -406,7 +405,8 @@ public class PgpDecryptVerify { if (dataChunk instanceof PGPOnePassSignatureList) { updateProgress(R.string.progress_processing_signature, currentProgress, 100); - signatureResult = new OpenPgpSignatureResult(); + signatureResultBuilder.signatureAvailable(true); + PGPOnePassSignatureList sigList = (PGPOnePassSignatureList) dataChunk; // go through all signatures @@ -434,8 +434,11 @@ public class PgpDecryptVerify { } signature = sigList.get(signatureIndex); - signatureResult.setUserId(PgpKeyHelper.getMainUserId(signatureKey)); - signatureResult.setKeyId(signature.getKeyID()); + + signatureResultBuilder.knownKey(true); + signatureResultBuilder.userId(PgpKeyHelper.getMainUserId(signatureKey)); + signatureResultBuilder.keyId(signature.getKeyID()); + JcaPGPContentVerifierBuilderP /*
****************************************************************************
* (C) 2006 - Cambridge University
****************************************************************************
*
* File: gnttab.c
* Author: Steven Smith (sos22@cam.ac.uk)
* Changes: Grzegorz Milos (gm281@cam.ac.uk)
*
* Date: July 2006
*
* Environment: Xen Minimal OS
* Description: Simple grant tables implementation. About as stupid as it's
* possible to be and still work.
*
****************************************************************************
*/
#include <mini-os/os.h>
#include <mini-os/mm.h>
#include <mini-os/gnttab.h>
#include <mini-os/semaphore.h>
#define NR_RESERVED_ENTRIES 8
/* NR_GRANT_FRAMES must be less than or equal to that configured in Xen */
#ifdef __ia64__
#define NR_GRANT_FRAMES 1
#else
#define NR_GRANT_FRAMES 4
#endif
#define NR_GRANT_ENTRIES (NR_GRANT_FRAMES * PAGE_SIZE / sizeof(grant_entry_t))
static grant_entry_t *gnttab_table;
static grant_ref_t gnttab_list[NR_GRANT_ENTRIES];
#ifdef GNT_DEBUG
static char inuse[NR_GRANT_ENTRIES];
#endif
static __DECLARE_SEMAPHORE_GENERIC(gnttab_sem, 0);
static void
put_free_entry(grant_ref_t ref)
{
unsigned long flags;
'> - result.setSignatureResult(signatureResult); + result.setSignatureResult(signatureResultBuilder.build()); updateProgress(R.string.progress_done, 100, 100); return result; } - /** - * Returns SIGNATURE_SUCCESS_CERTIFIED, SIGNATURE_SUCCESS_UNCERTIFIED, or SIGNATURE_ERROR - * - * @param validSignature - * @param validKeyBinding - * @param isSignatureKeyCertified - * @return - */ - private int getSignatureResultStatus(boolean validSignature, boolean validKeyBinding, boolean isSignatureKeyCertified) { - if (validKeyBinding && validSignature) { - if (isSignatureKeyCertified) { - Log.d(Constants.TAG, "SIGNATURE_SUCCESS_CERTIFIED"); - return OpenPgpSignatureResult.SIGNATURE_SUCCESS_CERTIFIED; - } else { - Log.d(Constants.TAG, "SIGNATURE_SUCCESS_UNCERTIFIED"); - return OpenPgpSignatureResult.SIGNATURE_SUCCESS_UNCERTIFIED; - } - } else { - Log.e(Constants.TAG, "Error!\nvalidKeyBinding: " + validKeyBinding - + "\nvalidSignature: " + validSignature); - return OpenPgpSignatureResult.SIGNATURE_ERROR; - } - } - private boolean verifyKeyBinding(PGPSignature signature, PGPPublicKey signatureKey) { long signatureKeyId = signature.getKeyID(); boolean validKeyBinding = false; |