public final class BouncyCastleProvider extends java.security.Provider implements ConfigurableProvider
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.
| Modifier and Type | Field and Description |
|---|---|
static ProviderConfiguration |
CONFIGURATION |
static java.lang.String |
PROVIDER_NAME |
ACCEPTABLE_EC_CURVES, ADDITIONAL_EC_PARAMETERS, DH_DEFAULT_PARAMS, EC_IMPLICITLY_CA, THREAD_LOCAL_DH_DEFAULT_PARAMS, THREAD_LOCAL_EC_IMPLICITLY_CA| Constructor and Description |
|---|
BouncyCastleProvider()
Construct a new provider.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addAlgorithm(java.lang.String type,
ASN1ObjectIdentifier oid,
java.lang.String className) |
void |
addAlgorithm(java.lang.String key,
java.lang.String value) |
void |
addAttributes(java.lang.String key,
java.util.Map<java.lang.String,java.lang.String> attributeMap) |
void |
addKeyInfoConverter(ASN1ObjectIdentifier oid,
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) |
clear, elements, entrySet, get, getInfo, getName, getProperty, getService, getServices, getVersion, keys, keySet, load, put, putAll, putService, remove, removeService, toString, valuesgetProperty, list, list, load, loadFromXML, propertyNames, save, setProperty, store, store, storeToXML, storeToXML, stringPropertyNamespublic static final java.lang.String PROVIDER_NAME
public static final ProviderConfiguration CONFIGURATION
public BouncyCastleProvider()
Security.addProvider() mechanism.public void setParameter(java.lang.String parameterName,
java.lang.Object parameter)
setParameter in interface ConfigurableProviderpublic boolean hasAlgorithm(java.lang.String type,
java.lang.String name)
hasAlgorithm in interface ConfigurableProviderpublic void addAlgorithm(java.lang.String key,
java.lang.String value)
addAlgorithm in interface ConfigurableProviderpublic void addAlgorithm(java.lang.String type,
ASN1ObjectIdentifier oid,
java.lang.String className)
addAlgorithm in interface ConfigurableProviderpublic void addKeyInfoConverter(ASN1ObjectIdentifier oid, AsymmetricKeyInfoConverter keyInfoConverter)
addKeyInfoConverter in interface ConfigurableProviderpublic void addAttributes(java.lang.String key,
java.util.Map<java.lang.String,java.lang.String> attributeMap)
addAttributes in interface ConfigurableProviderpublic static java.security.PublicKey getPublicKey(SubjectPublicKeyInfo publicKeyInfo) throws java.io.IOException
java.io.IOExceptionpublic static java.security.PrivateKey getPrivateKey(PrivateKeyInfo privateKeyInfo) throws java.io.IOException
java.io.IOException