summaryrefslogtreecommitdiffstats
path: root/bcprov/src/main/java/org/bouncycastle/jce/provider/CertBlacklist.java
diff options
context:
space:
mode:
authorKenny Root <kroot@google.com>2014-05-05 10:28:58 -0700
committerKenny Root <kroot@google.com>2014-10-17 09:49:51 -0700
commit7a21b9a68f2c90bdde986a98a55816d0cf3ea73e (patch)
tree31a80832254af38041c70c2081726367b8d9d2c4 /bcprov/src/main/java/org/bouncycastle/jce/provider/CertBlacklist.java
parente46fd72598d3efe6d22c689da50ec30e433cbb19 (diff)
downloadandroid_external_bouncycastle-7a21b9a68f2c90bdde986a98a55816d0cf3ea73e.tar.gz
android_external_bouncycastle-7a21b9a68f2c90bdde986a98a55816d0cf3ea73e.tar.bz2
android_external_bouncycastle-7a21b9a68f2c90bdde986a98a55816d0cf3ea73e.zip
Avoid things that cause CertBlacklist to be preinitialized
Move the CertBlacklist instance to a NoPreloadHolder, then move the System.getenv call in CertBlacklist to a constructor so it's not called during class initialization. Bug: 18013422 Change-Id: I39d0f43f948dec243d2d7cb79726d0642638b77a
Diffstat (limited to 'bcprov/src/main/java/org/bouncycastle/jce/provider/CertBlacklist.java')
-rw-r--r--bcprov/src/main/java/org/bouncycastle/jce/provider/CertBlacklist.java16
1 files changed, 8 insertions, 8 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/jce/provider/CertBlacklist.java b/bcprov/src/main/java/org/bouncycastle/jce/provider/CertBlacklist.java
index 39ba0ff..c62966d 100644
--- a/bcprov/src/main/java/org/bouncycastle/jce/provider/CertBlacklist.java
+++ b/bcprov/src/main/java/org/bouncycastle/jce/provider/CertBlacklist.java
@@ -34,12 +34,6 @@ import org.bouncycastle.crypto.digests.AndroidDigestFactory;
import org.bouncycastle.util.encoders.Hex;
public class CertBlacklist {
-
- private static final String ANDROID_DATA = System.getenv("ANDROID_DATA");
- private static final String BLACKLIST_ROOT = ANDROID_DATA + "/misc/keychain/";
- public static final String DEFAULT_PUBKEY_BLACKLIST_PATH = BLACKLIST_ROOT + "pubkey_blacklist.txt";
- public static final String DEFAULT_SERIAL_BLACKLIST_PATH = BLACKLIST_ROOT + "serial_blacklist.txt";
-
private static final Logger logger = Logger.getLogger(CertBlacklist.class.getName());
// public for testing
@@ -47,13 +41,19 @@ public class CertBlacklist {
public final Set<byte[]> pubkeyBlacklist;
public CertBlacklist() {
- this(DEFAULT_PUBKEY_BLACKLIST_PATH, DEFAULT_SERIAL_BLACKLIST_PATH);
+ String androidData = System.getenv("ANDROID_DATA");
+ String blacklistRoot = androidData + "/misc/keychain/";
+ String defaultPubkeyBlacklistPath = blacklistRoot + "pubkey_blacklist.txt";
+ String defaultSerialBlacklistPath = blacklistRoot + "serial_blacklist.txt";
+
+ pubkeyBlacklist = readPublicKeyBlackList(defaultPubkeyBlacklistPath);
+ serialBlacklist = readSerialBlackList(defaultSerialBlacklistPath);
}
/** Test only interface, not for public use */
public CertBlacklist(String pubkeyBlacklistPath, String serialBlacklistPath) {
- serialBlacklist = readSerialBlackList(serialBlacklistPath);
pubkeyBlacklist = readPublicKeyBlackList(pubkeyBlacklistPath);
+ serialBlacklist = readSerialBlackList(serialBlacklistPath);
}
private static boolean isHex(String value) {