Bouncy Castle Cryptography Library 1.48

org.bouncycastle.jce.provider
Class BouncyCastleProvider

java.lang.Object
  extended by java.util.Dictionary<K,V>
      extended by java.util.Hashtable<java.lang.Object,java.lang.Object>
          extended by java.util.Properties
              extended by java.security.Provider
                  extended by org.bouncycastle.jce.provider.BouncyCastleProvider
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.util.Map<java.lang.Object,java.lang.Object>, org.bouncycastle.jcajce.provider.config.ConfigurableProvider

public final class BouncyCastleProvider
extends java.security.Provider
implements org.bouncycastle.jcajce.provider.config.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
static org.bouncycastle.jcajce.provider.config.ProviderConfiguration CONFIGURATION
           
static java.lang.String PROVIDER_NAME
           
 
Fields inherited from class java.util.Properties
defaults
 
Fields inherited from interface org.bouncycastle.jcajce.provider.config.ConfigurableProvider
DH_DEFAULT_PARAMS, EC_IMPLICITLY_CA, THREAD_LOCAL_DH_DEFAULT_PARAMS, THREAD_LOCAL_EC_IMPLICITLY_CA
 
Constructor Summary
BouncyCastleProvider()
          Construct a new provider.
 
Method Summary
 void addAlgorithm(java.lang.String key, java.lang.String value)
           
 void addKeyInfoConverter(ASN1ObjectIdentifier oid, org.bouncycastle.jcajce.provider.util.AsymmetricKeyInfoConverter keyInfoConverter)
           
static java.security.PrivateKey getPrivateKey(PrivateKeyInfo privateKeyInfo)
           
static java.security.PublicKey getPublicKey(SubjectPublicKeyInfo publicKeyInfo)
           
 boolean hasAlgorithm(java.lang.String type, java.lang.String name)
           
 void setParameter(java.lang.String parameterName, java.lang.Object parameter)
           
 
Methods inherited from class java.security.Provider
clear, entrySet, getInfo, getName, getService, getServices, getVersion, keySet, load, put, putAll, putService, remove, removeService, toString, values
 
Methods inherited from class java.util.Properties
getProperty, getProperty, list, list, loadFromXML, propertyNames, save, setProperty, store, storeToXML, storeToXML
 
Methods inherited from class java.util.Hashtable
clone, contains, containsKey, containsValue, elements, equals, get, hashCode, isEmpty, keys, 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

CONFIGURATION

public static final org.bouncycastle.jcajce.provider.config.ProviderConfiguration CONFIGURATION
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 org.bouncycastle.jcajce.provider.config.ConfigurableProvider

hasAlgorithm

public boolean hasAlgorithm(java.lang.String type,
                            java.lang.String name)
Specified by:
hasAlgorithm in interface org.bouncycastle.jcajce.provider.config.ConfigurableProvider

addAlgorithm

public void addAlgorithm(java.lang.String key,
                         java.lang.String value)
Specified by:
addAlgorithm in interface org.bouncycastle.jcajce.provider.config.ConfigurableProvider

addKeyInfoConverter

public void addKeyInfoConverter(ASN1ObjectIdentifier oid,
                                org.bouncycastle.jcajce.provider.util.AsymmetricKeyInfoConverter keyInfoConverter)
Specified by:
addKeyInfoConverter in interface org.bouncycastle.jcajce.provider.config.ConfigurableProvider

getPublicKey

public static java.security.PublicKey getPublicKey(SubjectPublicKeyInfo publicKeyInfo)
                                            throws java.io.IOException
Throws:
java.io.IOException

getPrivateKey

public static java.security.PrivateKey getPrivateKey(PrivateKeyInfo privateKeyInfo)
                                              throws java.io.IOException
Throws:
java.io.IOException

Bouncy Castle Cryptography Library 1.48