aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure
diff options
context:
space:
mode:
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java84
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;