org.bouncycastle.jcajce.util.BCJcaJceHelper.java Source code

Java tutorial

Introduction

Here is the source code for org.bouncycastle.jcajce.util.BCJcaJceHelper.java

Source

package org.bouncycastle.jcajce.util;

import java.security.Provider;
import java.security.Security;

import org.bouncycastle.jce.provider.BouncyCastleProvider;

/**
 * A JCA/JCE helper that refers to the BC provider for all it's needs.
 */
public class BCJcaJceHelper extends ProviderJcaJceHelper {
    private static volatile Provider bcProvider;

    private static synchronized Provider getBouncyCastleProvider() {
        if (Security.getProvider("BC") != null) {
            return Security.getProvider("BC");
        } else if (bcProvider != null) {
            return bcProvider;
        } else {
            bcProvider = new BouncyCastleProvider();

            return bcProvider;
        }
    }

    public BCJcaJceHelper() {
        super(getBouncyCastleProvider());
    }
}