public class KeyPairCache
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
(package private) static class |
KeyPairCache.KeyPairCacheEntry |
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
algorithm |
static java.lang.String |
DEFAULT_ALGORITHM |
static java.lang.String |
DEFAULT_PROVIDER |
private java.util.Map |
entries
Hash table of cache entries.
|
private static KeyPairCache |
keyPairCache |
private long |
lifetime |
private static org.apache.commons.logging.Log |
logger |
private java.lang.String |
provider |
Modifier | Constructor and Description |
---|---|
private |
KeyPairCache(java.lang.String algorithm,
java.lang.String provider,
long lifetime)
Creates a KeyPairCache object for the specified algorithm, as
supplied from the specified provider.
|
Modifier and Type | Method and Description |
---|---|
java.security.KeyPair |
getKeyPair(int bits)
Returns a key pair of size
bits . |
static KeyPairCache |
getKeyPairCache() |
static KeyPairCache |
getKeyPairCache(java.lang.String algorithm,
java.lang.String provider,
long lifetime) |
private static org.apache.commons.logging.Log logger
public static final java.lang.String DEFAULT_ALGORITHM
public static final java.lang.String DEFAULT_PROVIDER
private final java.lang.String algorithm
private final java.lang.String provider
private final long lifetime
private static KeyPairCache keyPairCache
private final java.util.Map entries
Hashtable
is significant, since we rely on access to the table being
synchronized.private KeyPairCache(java.lang.String algorithm, java.lang.String provider, long lifetime)
algorithm
- the standard string name of the algorithm. See
Appendix A in the Java Cryptography Architecture API
Specification & Reference for information about standard
algorithm names.provider
- the string name of the provider.lifetime
- the lifetime of the cache in milliseconds.public static KeyPairCache getKeyPairCache()
public static KeyPairCache getKeyPairCache(java.lang.String algorithm, java.lang.String provider, long lifetime)
public java.security.KeyPair getKeyPair(int bits) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException
bits
. The same key pair
may be returned several times within a period of the cache
lifetime.
If lifetime was set to zero or less than zero, no keys are cached.bits
- the keysize. This is an algorithm-specific metric,
such as modulus length, specified in number of bits.java.security.NoSuchAlgorithmException
- if the algorithm is not
available in the environment.java.security.NoSuchProviderException
- if the provider is not
available in the environment.