diff options
Diffstat (limited to 'bcprov/src/main/java/org/bouncycastle/jcajce/util/BCJcaJceHelper.java')
-rw-r--r-- | bcprov/src/main/java/org/bouncycastle/jcajce/util/BCJcaJceHelper.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/jcajce/util/BCJcaJceHelper.java b/bcprov/src/main/java/org/bouncycastle/jcajce/util/BCJcaJceHelper.java index 40087612..25897cf5 100644 --- a/bcprov/src/main/java/org/bouncycastle/jcajce/util/BCJcaJceHelper.java +++ b/bcprov/src/main/java/org/bouncycastle/jcajce/util/BCJcaJceHelper.java @@ -11,15 +11,23 @@ import org.bouncycastle.jce.provider.BouncyCastleProvider; public class BCJcaJceHelper extends ProviderJcaJceHelper { + private static volatile Provider bcProvider; + private static Provider getBouncyCastleProvider() { if (Security.getProvider("BC") != null) { return Security.getProvider("BC"); } + else if (bcProvider != null) + { + return bcProvider; + } else { - return new BouncyCastleProvider(); + bcProvider = new BouncyCastleProvider(); + + return bcProvider; } } |