aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2014-04-17 16:34:14 +0200
committerVincent Breitmoser <valodim@mugenguild.com>2014-04-17 16:34:20 +0200
commit8714f56cdc71aec3d3df0a350c085b236cb11921 (patch)
tree527caad9f2e5ca41a86dc44dc8cca95d022cacd8 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java
parent86d9266a445351b5a6c8fa89a6766b7481651e9f (diff)
downloadopen-keychain-8714f56cdc71aec3d3df0a350c085b236cb11921.tar.gz
open-keychain-8714f56cdc71aec3d3df0a350c085b236cb11921.tar.bz2
open-keychain-8714f56cdc71aec3d3df0a350c085b236cb11921.zip
get rid of PgpKeyHelper.getMasterKeyId
Closes #575
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.java14
1 files changed, 10 insertions, 4 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 96ab0404d..8d228ec96 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java
@@ -620,12 +620,19 @@ public class PgpDecryptVerify {
// go through all signatures
// and find out for which signature we have a key in our database
Long masterKeyId = null;
+ String primaryUserId = null;
int signatureIndex = 0;
for (int i = 0; i < sigList.size(); ++i) {
try {
Uri uri = KeyRings.buildUnifiedKeyRingsFindBySubkeyUri(
Long.toString(sigList.get(i).getKeyID()));
- masterKeyId = mProviderHelper.getMasterKeyId(uri);
+ Map<String, Object> data = mProviderHelper.getGenericData(uri,
+ new String[] { KeyRings.MASTER_KEY_ID, KeyRings.USER_ID },
+ new int[] { ProviderHelper.FIELD_TYPE_INTEGER,
+ ProviderHelper.FIELD_TYPE_STRING }
+ );
+ masterKeyId = (Long) data.get(KeyRings.MASTER_KEY_ID);
+ primaryUserId = (String) data.get(KeyRings.USER_ID);
signatureIndex = i;
} catch (ProviderHelper.NotFoundException e) {
Log.d(Constants.TAG, "key not found!");
@@ -652,9 +659,8 @@ public class PgpDecryptVerify {
signatureResultBuilder.signatureAvailable(true);
signatureResultBuilder.knownKey(true);
- // TODO: uses the first user id not primary user id
- signatureResultBuilder.userId(PgpKeyHelper.getMainUserId(publicKeyRing.getPublicKey()));
- signatureResultBuilder.keyId(publicKeyRing.getPublicKey().getKeyID());
+ signatureResultBuilder.userId(primaryUserId);
+ signatureResultBuilder.keyId(masterKeyId);
JcaPGPContentVerifierBuilderProvider contentVerifierBuilderProvider =
new JcaPGPContentVerifierBuilderProvider()