diff options
author | Vincent Breitmoser <valodim@mugenguild.com> | 2014-09-28 15:17:09 +0200 |
---|---|---|
committer | Vincent Breitmoser <valodim@mugenguild.com> | 2014-09-28 15:17:09 +0200 |
commit | c34a159cae783178b692022a584e1f937cc652ca (patch) | |
tree | d70c9ec339c843bef2ce534e6d89334fb4e55d97 /OpenKeychain/src/main/java/org | |
parent | 8131daa6380ed752c4d31cd6a40650d9ac5b9817 (diff) | |
download | open-keychain-c34a159cae783178b692022a584e1f937cc652ca.tar.gz open-keychain-c34a159cae783178b692022a584e1f937cc652ca.tar.bz2 open-keychain-c34a159cae783178b692022a584e1f937cc652ca.zip |
fix method visibility for tests
Diffstat (limited to 'OpenKeychain/src/main/java/org')
2 files changed, 37 insertions, 33 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedPublicKey.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedPublicKey.java index d0808d446..8fb3402b2 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedPublicKey.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedPublicKey.java @@ -18,11 +18,8 @@ package org.sufficientlysecure.keychain.pgp; -import org.spongycastle.bcpg.SignatureSubpacketTags; import org.spongycastle.bcpg.sig.KeyFlags; import org.spongycastle.openpgp.PGPPublicKey; -import org.spongycastle.openpgp.PGPSignature; -import org.spongycastle.openpgp.PGPSignatureSubpacketVector; import org.spongycastle.openpgp.operator.jcajce.JcePublicKeyKeyEncryptionMethodGenerator; import org.sufficientlysecure.keychain.util.IterableIterator; @@ -40,7 +37,6 @@ public class CanonicalizedPublicKey extends UncachedPublicKey { // this is the parent key ring final KeyRing mRing; - private Integer mCacheUsage = null; CanonicalizedPublicKey(KeyRing ring, PGPPublicKey key) { super(key); @@ -52,7 +48,7 @@ public class CanonicalizedPublicKey extends UncachedPublicKey { } JcePublicKeyKeyEncryptionMethodGenerator getPubKeyEncryptionGenerator() { - return new JcePublicKeyKeyEncryptionMethodGenerator(mPublicKey); + return new JcePublicKeyKeyEncryptionMethodGenerator(mPublicKey); } public boolean canSign() { @@ -68,32 +64,6 @@ public class CanonicalizedPublicKey extends UncachedPublicKey { return false; } - /** - * Get all key usage flags. - * If at least one key flag subpacket is present return these. - * If no subpacket is present it returns null. - */ - @SuppressWarnings("unchecked") - public Integer getKeyUsage() { - if (mCacheUsage == null) { - for (PGPSignature sig : new IterableIterator<PGPSignature>(mPublicKey.getSignatures())) { - if (mPublicKey.isMasterKey() && sig.getKeyID() != mPublicKey.getKeyID()) { - continue; - } - - PGPSignatureSubpacketVector hashed = sig.getHashedSubPackets(); - if (hashed != null && hashed.getSubpacket(SignatureSubpacketTags.KEY_FLAGS) != null) { - // init if at least one key flag subpacket has been found - if (mCacheUsage == null) { - mCacheUsage = 0; - } - mCacheUsage |= hashed.getKeyFlags(); - } - } - } - return mCacheUsage; - } - public boolean canCertify() { // if key flags subpacket is available, honor it! if (getKeyUsage() != null) { @@ -129,4 +99,9 @@ public class CanonicalizedPublicKey extends UncachedPublicKey { return false; } + + /** Same method as superclass, but we make it public. */ + public Integer getKeyUsage() { + return super.getKeyUsage(); + } } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedPublicKey.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedPublicKey.java index 345c00579..bb9c7d51c 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedPublicKey.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedPublicKey.java @@ -39,6 +39,7 @@ import java.util.Iterator; public class UncachedPublicKey { protected final PGPPublicKey mPublicKey; + private Integer mCacheUsage = null; public UncachedPublicKey(PGPPublicKey key) { mPublicKey = key; @@ -231,9 +232,8 @@ public class UncachedPublicKey { return mPublicKey.getFingerprint(); } - // TODO This method should have package visibility - no access outside the pgp package! // (It's still used in ProviderHelper at this point) - public PGPPublicKey getPublicKey() { + PGPPublicKey getPublicKey() { return mPublicKey; } @@ -271,4 +271,33 @@ public class UncachedPublicKey { } } + /** Get all key usage flags. + * If at least one key flag subpacket is present return these. If no + * subpacket is present it returns null. + * + * Note that this method has package visiblity because it is used in test + * cases. Certificates of UncachedPublicKey instances can NOT be assumed to + * be verified, so the result of this method should not be used in other + * places! + */ + @SuppressWarnings("unchecked") + Integer getKeyUsage() { + if (mCacheUsage == null) { + for (PGPSignature sig : new IterableIterator<PGPSignature>(mPublicKey.getSignatures())) { + if (mPublicKey.isMasterKey() && sig.getKeyID() != mPublicKey.getKeyID()) { + continue; + } + + PGPSignatureSubpacketVector hashed = sig.getHashedSubPackets(); + if (hashed != null && hashed.getSubpacket(SignatureSubpacketTags.KEY_FLAGS) != null) { + // init if at least one key flag subpacket has been found + if (mCacheUsage == null) { + mCacheUsage = 0; + } + mCacheUsage |= hashed.getKeyFlags(); + } + } + } + return mCacheUsage; + } } |