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