org.globus.gsi.gssapi
Class KeyPairCache

java.lang.Object
  extended by org.globus.gsi.gssapi.KeyPairCache

public class KeyPairCache
extends Object

Simple cache for key pairs. The cache is used to avoid excessive CPU consumption from key pair generation. In particular for purposes of delegation, reusing a key pair is safe.

Author:
Gerd Behrmann (behrmann@ndgf.org)

Field Summary
static String DEFAULT_ALGORITHM
           
static String DEFAULT_PROVIDER
           
 
Method Summary
 KeyPair getKeyPair(int bits)
          Returns a key pair of size bits.
static KeyPairCache getKeyPairCache()
           
static KeyPairCache getKeyPairCache(String algorithm, String provider, long lifetime)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_ALGORITHM

public static final String DEFAULT_ALGORITHM
See Also:
Constant Field Values

DEFAULT_PROVIDER

public static final String DEFAULT_PROVIDER
See Also:
Constant Field Values
Method Detail

getKeyPairCache

public static KeyPairCache getKeyPairCache()

getKeyPairCache

public static KeyPairCache getKeyPairCache(String algorithm,
                                           String provider,
                                           long lifetime)

getKeyPair

public KeyPair getKeyPair(int bits)
                   throws NoSuchAlgorithmException,
                          NoSuchProviderException
Returns a key pair of size 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.

Parameters:
bits - the keysize. This is an algorithm-specific metric, such as modulus length, specified in number of bits.
Throws:
NoSuchAlgorithmException - if the algorithm is not available in the environment.
NoSuchProviderException - if the provider is not available in the environment.