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) |
AsymmetricKeyInfoConverter |
getKeyInfoConverter(ASN1ObjectIdentifier oid) |
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, compute, computeIfAbsent, computeIfPresent, elements, entrySet, forEach, get, getInfo, getName, getOrDefault, getProperty, getService, getServices, getVersion, keys, keySet, load, merge, put, putAll, putIfAbsent, putService, remove, remove, removeService, replace, replace, replaceAll, toString, values
getProperty, list, list, load, loadFromXML, propertyNames, save, setProperty, store, store, storeToXML, storeToXML, stringPropertyNames
public 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 ConfigurableProvider
public boolean hasAlgorithm(java.lang.String type, java.lang.String name)
hasAlgorithm
in interface ConfigurableProvider
public void addAlgorithm(java.lang.String key, java.lang.String value)
addAlgorithm
in interface ConfigurableProvider
public void addAlgorithm(java.lang.String type, ASN1ObjectIdentifier oid, java.lang.String className)
addAlgorithm
in interface ConfigurableProvider
public void addKeyInfoConverter(ASN1ObjectIdentifier oid, AsymmetricKeyInfoConverter keyInfoConverter)
addKeyInfoConverter
in interface ConfigurableProvider
public AsymmetricKeyInfoConverter getKeyInfoConverter(ASN1ObjectIdentifier oid)
getKeyInfoConverter
in interface ConfigurableProvider
public void addAttributes(java.lang.String key, java.util.Map<java.lang.String,java.lang.String> attributeMap)
addAttributes
in interface ConfigurableProvider
public static java.security.PublicKey getPublicKey(SubjectPublicKeyInfo publicKeyInfo) throws java.io.IOException
java.io.IOException
public static java.security.PrivateKey getPrivateKey(PrivateKeyInfo privateKeyInfo) throws java.io.IOException
java.io.IOException