From 1e45e5cd9ad4e38bcff347bc7d3b8f422a636519 Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Wed, 18 Jun 2014 10:00:21 +0200 Subject: code cleanup in ProviderHelper and UncachedKeyRing --- .../keychain/pgp/UncachedKeyRing.java | 46 ++++++++++------------ 1 file changed, 20 insertions(+), 26 deletions(-) (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java') 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 5cd13c4a2..5b353efbf 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java @@ -51,6 +51,7 @@ import java.util.Vector; * @see org.sufficientlysecure.keychain.pgp.UncachedSecretKey * */ +@SuppressWarnings("unchecked") public class UncachedKeyRing { final PGPKeyRing mRing; @@ -65,12 +66,6 @@ public class UncachedKeyRing { return mRing.getPublicKey().getKeyID(); } - /* TODO don't use this */ - @Deprecated - public PGPKeyRing getRing() { - return mRing; - } - public UncachedPublicKey getPublicKey() { return new UncachedPublicKey(mRing.getPublicKey()); } @@ -103,15 +98,6 @@ public class UncachedKeyRing { return mRing.getPublicKey().getFingerprint(); } - public static UncachedKeyRing decodePublicFromData(byte[] data) - throws PgpGeneralException, IOException { - UncachedKeyRing ring = decodeFromData(data); - if(ring.isSecret()) { - throw new PgpGeneralException("Object not recognized as PGPPublicKeyRing!"); - } - return ring; - } - public static UncachedKeyRing decodeFromData(byte[] data) throws PgpGeneralException, IOException { BufferedInputStream bufferedInput = @@ -202,7 +188,8 @@ public class UncachedKeyRing { * @return A canonicalized key, or null on fatal error * */ - public UncachedKeyRing canonicalizePublic(OperationLog log, int indent) { + @SuppressWarnings("ConstantConditions") + public UncachedKeyRing canonicalize(OperationLog log, int indent) { if (isSecret()) { throw new RuntimeException("Tried to public-canonicalize non-public keyring. " + "This is a programming error and should never happen!"); @@ -624,16 +611,6 @@ public class UncachedKeyRing { return new UncachedKeyRing(ring); } - private static PGPKeyRing replacePublicKey(PGPKeyRing ring, PGPPublicKey key) { - if (ring instanceof PGPPublicKeyRing) { - return PGPPublicKeyRing.insertPublicKey((PGPPublicKeyRing) ring, key); - } - PGPSecretKeyRing secRing = (PGPSecretKeyRing) ring; - PGPSecretKey sKey = secRing.getSecretKey(key.getKeyID()); - sKey = PGPSecretKey.replacePublicKey(sKey, key); - return PGPSecretKeyRing.insertSecretKey(secRing, sKey); - } - /** This operation consolidates a list of UncachedKeyRings into a single, combined * UncachedKeyRing. * @@ -759,4 +736,21 @@ public class UncachedKeyRing { } + /** This method replaces a public key in a keyring. + * + * This method essentially wraps PGP*KeyRing.insertPublicKey, where the keyring may be of either + * the secret or public subclass. + * + * @return the resulting PGPKeyRing of the same type as the input + */ + private static PGPKeyRing replacePublicKey(PGPKeyRing ring, PGPPublicKey key) { + if (ring instanceof PGPPublicKeyRing) { + return PGPPublicKeyRing.insertPublicKey((PGPPublicKeyRing) ring, key); + } + PGPSecretKeyRing secRing = (PGPSecretKeyRing) ring; + PGPSecretKey sKey = secRing.getSecretKey(key.getKeyID()); + sKey = PGPSecretKey.replacePublicKey(sKey, key); + return PGPSecretKeyRing.insertSecretKey(secRing, sKey); + } + } -- cgit v1.2.3