diff options
author | Vincent Breitmoser <valodim@mugenguild.com> | 2014-04-17 16:34:14 +0200 |
---|---|---|
committer | Vincent Breitmoser <valodim@mugenguild.com> | 2014-04-17 16:34:20 +0200 |
commit | 8714f56cdc71aec3d3df0a350c085b236cb11921 (patch) | |
tree | 527caad9f2e5ca41a86dc44dc8cca95d022cacd8 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java | |
parent | 86d9266a445351b5a6c8fa89a6766b7481651e9f (diff) | |
download | open-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.java | 14 |
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() |