com.ibm.crypto.fips.provider
Class HmacSHA1KeyGenerator

java.lang.Object
  |
  +--javax.crypto.KeyGeneratorSpi
        |
        +--com.ibm.crypto.fips.provider.HmacSHA1KeyGenerator
All Implemented Interfaces:
AlgorithmStatus

public final class HmacSHA1KeyGenerator
extends javax.crypto.KeyGeneratorSpi
implements AlgorithmStatus

This class generates a secret key for use with the HMAC-SHA1 algorithm.

Version:
1.2, 09/10/99
Author:
Jan Luehe

Constructor Summary
HmacSHA1KeyGenerator()
          Verify the JCE framework in the constructor.
 
Method Summary
protected  javax.crypto.SecretKey engineGenerateKey()
          Generates an HMAC-SHA1 key.
protected  void engineInit(java.security.spec.AlgorithmParameterSpec params, java.security.SecureRandom random)
          Initializes this key generator with the specified parameter set and a user-provided source of randomness.
protected  void engineInit(int keysize, java.security.SecureRandom random)
          Initializes this key generator for a certain keysize, using the given source of randomness.
protected  void engineInit(java.security.SecureRandom random)
          Initializes this key generator.
protected  javax.crypto.SecretKey internalGenerateKey()
          Generates an HMAC-SHA1 key.
protected  void internalInit(java.security.spec.AlgorithmParameterSpec params, java.security.SecureRandom random)
          Initializes this key generator with the specified parameter set and a user-provided source of randomness.
protected  void internalInit(int keysize, java.security.SecureRandom random)
          Initializes this key generator for a certain keysize, using the given source of randomness.
protected  void internalInit(java.security.SecureRandom random)
          Initializes this key generator.
 boolean isFipsApproved()
          Module identifies if the cryptographic operation (algorithm) is FIPS certified
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HmacSHA1KeyGenerator

public HmacSHA1KeyGenerator()
Verify the JCE framework in the constructor.
Throws:
java.lang.SecurityException - if fails to verify the JCE framework.
Method Detail

isFipsApproved

public boolean isFipsApproved()
Description copied from interface: AlgorithmStatus
Module identifies if the cryptographic operation (algorithm) is FIPS certified
Specified by:
isFipsApproved in interface AlgorithmStatus
See Also:
AlgorithmStatus.isFipsApproved()

engineInit

protected void engineInit(java.security.SecureRandom random)
Initializes this key generator.
Overrides:
engineInit in class javax.crypto.KeyGeneratorSpi
Parameters:
random - the source of randomness for this generator
Throws:
FIPSRuntimeException - if SelfTest.isFipsRunnable returns false.

internalInit

protected void internalInit(java.security.SecureRandom random)
Initializes this key generator.
Parameters:
random - the source of randomness for this generator

engineInit

protected void engineInit(java.security.spec.AlgorithmParameterSpec params,
                          java.security.SecureRandom random)
                   throws java.security.InvalidAlgorithmParameterException
Initializes this key generator with the specified parameter set and a user-provided source of randomness.
Overrides:
engineInit in class javax.crypto.KeyGeneratorSpi
Parameters:
params - the key generation parameters
random - the source of randomness for this key generator
Throws:
java.security.InvalidAlgorithmParameterException - if params is inappropriate for this key generator

internalInit

protected void internalInit(java.security.spec.AlgorithmParameterSpec params,
                            java.security.SecureRandom random)
                     throws java.security.InvalidAlgorithmParameterException
Initializes this key generator with the specified parameter set and a user-provided source of randomness.
Parameters:
params - the key generation parameters
random - the source of randomness for this key generator
Throws:
java.security.InvalidAlgorithmParameterException - if params is inappropriate for this key generator
FIPSRuntimeException - if SelfTest.isFipsRunnable returns false.

engineInit

protected void engineInit(int keysize,
                          java.security.SecureRandom random)
Initializes this key generator for a certain keysize, using the given source of randomness.
Overrides:
engineInit in class javax.crypto.KeyGeneratorSpi
Parameters:
keysize - the keysize. This is an algorithm-specific metric specified in number of bits.
random - the source of randomness for this key generator
Throws:
FIPSRuntimeException - if SelfTest.isFipsRunnable returns false.

internalInit

protected void internalInit(int keysize,
                            java.security.SecureRandom random)
Initializes this key generator for a certain keysize, using the given source of randomness.
Parameters:
keysize - the keysize. This is an algorithm-specific metric specified in number of bits.
random - the source of randomness for this key generator

engineGenerateKey

protected javax.crypto.SecretKey engineGenerateKey()
Generates an HMAC-SHA1 key.
Overrides:
engineGenerateKey in class javax.crypto.KeyGeneratorSpi
Returns:
the new HMAC-SHA1 key

internalGenerateKey

protected javax.crypto.SecretKey internalGenerateKey()
Generates an HMAC-SHA1 key.
Returns:
the new HMAC-SHA1 key