org.bouncycastle.jce.provider

## Class BouncyCastleProvider

- java.lang.Object
- - java.util.Dictionary<K,V>
  - - java.util.Hashtable<java.lang.Object,java.lang.Object>
    - - java.util.Properties
      - - java.security.Provider
        - - org.bouncycastle.jce.provider.BouncyCastleProvider

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, java.util.Map<java.lang.Object,java.lang.Object>, ConfigurableProvider

    public final class BouncyCastleProvider
    extends java.security.Provider
    implements ConfigurableProvider

To add the provider at runtime use:

     import java.security.Security;
     import org.bouncycastle.jce.provider.BouncyCastleProvider;

     Security.addProvider(new BouncyCastleProvider());

The provider can also be configured as part of your environment via static registration by adding an entry to the java.security properties file (found in $JAVA_HOME/jre/lib/security/java.security, where $JAVA_HOME is the location of your JDK/JRE distribution). You'll find detailed instructions in the file but basically it comes down to adding a line:

        security.provider.<n>=org.bouncycastle.jce.provider.BouncyCastleProvider

Where <n> is the preference you want the provider at (1 being the most preferred).

Note: JCE algorithm names should be upper-case only so the case insensitive test for getInstance works.

See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class java.security.Provider

`java.security.Provider.Service`

### Field Summary

Fields
`static java.lang.String` `PROVIDER_NAME`

### Fields inherited from class java.util.Properties

`defaults`

### Fields inherited from interface org.bouncycastle.jce.interfaces.ConfigurableProvider

`EC_IMPLICITLY_CA, THREAD_LOCAL_EC_IMPLICITLY_CA`

### Constructor Summary

Constructors
Constructor and Description
`BouncyCastleProvider()` Construct a new provider.

### Method Summary

Methods
`void` `setParameter(java.lang.String parameterName, java.lang.Object parameter)`

### Methods inherited from class java.security.Provider

`clear, elements, entrySet, get, getInfo, getName, getProperty, getService, getServices, getVersion, keys, keySet, load, put, putAll, putService, remove, removeService, toString, values`

### Methods inherited from class java.util.Properties

`getProperty, list, list, load, loadFromXML, propertyNames, save, setProperty, store, store, storeToXML, storeToXML, stringPropertyNames`

### Methods inherited from class java.util.Hashtable

`clone, contains, containsKey, containsValue, equals, hashCode, isEmpty, rehash, size`

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### PROVIDER_NAME

    public static java.lang.String PROVIDER_NAME

### Constructor Detail

#### BouncyCastleProvider

    public BouncyCastleProvider()

Construct a new provider. This should only be required when using runtime registration of the provider using the `Security.addProvider()` mechanism.

### Method Detail

#### setParameter

    public void setParameter(java.lang.String parameterName,
                    java.lang.Object parameter)

Specified by:
  `setParameter` in interface `ConfigurableProvider`