summaryrefslogtreecommitdiff
path: root/bcprov/src/main/java/org/bouncycastle/jcajce/util/BCJcaJceHelper.java
diff options
context:
space:
mode:
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.java10
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;
}
}