Package org.globus.gsi.gssapi

# Class KeyPairCache

java.lang.Object
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

Fields
Modifier and Type
Field
Description
`static final String`
`DEFAULT_ALGORITHM`
`static final String`
`DEFAULT_PROVIDER`

## Method Summary

Modifier and Type
Method
Description
`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 Details

### 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 Details

### 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.