1 package org.bouncycastle.jcajce.provider.config;
2 
3 import org.bouncycastle.asn1.ASN1ObjectIdentifier;
4 import org.bouncycastle.jcajce.provider.util.AsymmetricKeyInfoConverter;
5 
6 /**
7  * Implemented by the BC provider. This allows setting of hidden parameters,
8  * such as the ImplicitCA parameters from X.962, if used.
9  */
10 public interface ConfigurableProvider
11 {
12     /**
13      * Elliptic Curve CA parameters - thread local version
14      */
15     static final String THREAD_LOCAL_EC_IMPLICITLY_CA = "threadLocalEcImplicitlyCa";
16 
17     /**
18      * Elliptic Curve CA parameters - VM wide version
19      */
20     static final String EC_IMPLICITLY_CA = "ecImplicitlyCa";
21 
22     /**
23      * Diffie-Hellman Default Parameters - thread local version
24      */
25     static final String THREAD_LOCAL_DH_DEFAULT_PARAMS = "threadLocalDhDefaultParams";
26 
27     /**
28      * Diffie-Hellman Default Parameters - VM wide version
29      */
30     static final String DH_DEFAULT_PARAMS = "DhDefaultParams";
31 
setParameter(String parameterName, Object parameter)32     void setParameter(String parameterName, Object parameter);
33 
addAlgorithm(String key, String value)34     void addAlgorithm(String key, String value);
35 
hasAlgorithm(String type, String name)36     boolean hasAlgorithm(String type, String name);
37 
addKeyInfoConverter(ASN1ObjectIdentifier oid, AsymmetricKeyInfoConverter keyInfoConverter)38     void addKeyInfoConverter(ASN1ObjectIdentifier oid, AsymmetricKeyInfoConverter keyInfoConverter);
39 }
40