From 9d97d37c06f22354c124bd6cedd989d9ca4ff53e Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Fri, 11 Sep 2015 01:57:17 +0200 Subject: perform fingerprint check after canonicalization (OKC-01-009) --- .../keychain/pgp/CanonicalizedKeyRing.java | 12 ++++++++++++ .../org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java | 11 ----------- 2 files changed, 12 insertions(+), 11 deletions(-) (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedKeyRing.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedKeyRing.java index 770e8de91..18a27dd96 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedKeyRing.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedKeyRing.java @@ -21,6 +21,7 @@ package org.sufficientlysecure.keychain.pgp; import org.spongycastle.openpgp.PGPKeyRing; import org.spongycastle.openpgp.PGPPublicKey; import org.sufficientlysecure.keychain.pgp.exception.PgpKeyNotFoundException; +import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils; import org.sufficientlysecure.keychain.util.IterableIterator; import java.io.IOException; @@ -28,6 +29,7 @@ import java.io.OutputStream; import java.util.ArrayList; import java.util.Date; import java.util.HashSet; +import java.util.Iterator; import java.util.Set; @@ -152,4 +154,14 @@ public abstract class CanonicalizedKeyRing extends KeyRing { return getRing().getEncoded(); } + public boolean containsSubkey(String expectedFingerprint) { + for (CanonicalizedPublicKey key : publicKeyIterator()) { + if (KeyFormattingUtils.convertFingerprintToHex( + key.getFingerprint()).equalsIgnoreCase(expectedFingerprint)) { + return true; + } + } + return false; + } + } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java index a7baddf8b..ca98882d8 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java @@ -216,17 +216,6 @@ public class UncachedKeyRing implements Serializable { } - public boolean containsSubkey(String expectedFingerprint) { - Iterator it = mRing.getPublicKeys(); - while (it.hasNext()) { - if (KeyFormattingUtils.convertFingerprintToHex( - it.next().getFingerprint()).equalsIgnoreCase(expectedFingerprint)) { - return true; - } - } - return false; - } - public interface IteratorWithIOThrow { public boolean hasNext() throws IOException; public E next() throws IOException; -- cgit v1.2.3