com.ibm.crypto.fips.provider
Class HmacSHA1
- java.lang.Object
javax.crypto.MacSpi
com.ibm.crypto.fips.provider.HmacSHA1
All implemented interfaces:
AlgorithmStatus, java.lang.Cloneable
- public final class HmacSHA1
- extends javax.crypto.MacSpi
- implements java.lang.Cloneable, AlgorithmStatus
Version:
1.6, 11/09/99
Author:
Jan Luehe
Constructor Summary
| Constructor and Description |
|---|
HmacSHA1()
Standard constructor, creates a new HmacSHA1 instance.
|
Method Summary
| Modifier and Type | Method and Description |
|---|---|
|
clone()
|
|
engineDoFinal()
Completes the HMAC computation and resets the HMAC for further use,
maintaining the secret key that the HMAC was initialized with.
|
|
engineGetMacLength()
Returns the length of the HMAC in bytes.
|
|
engineInit(java.security.Key key,java.security.spec.AlgorithmParameterSpec params)
Initializes the HMAC with the given secret key and algorithm parameters.
|
|
engineReset()
Resets the HMAC for further use, maintaining the secret key that the
HMAC was initialized with.
|
|
engineUpdate(byte input)
Processes the given byte.
|
|
engineUpdate(byte[] input,int offset,int len)
Processes the first
len bytes in input,
starting at offset.
|
|
finalize()
This function zeroizes the key so that it isn't in memory when GC is done.
|
|
internalClone()
|
|
internalDoFinal()
Completes the HMAC computation and resets the HMAC for further use,
maintaining the secret key that the HMAC was initialized with.
|
|
internalGetMacLength()
Returns the length of the HMAC in bytes.
|
|
internalInit(java.security.Key key,java.security.spec.AlgorithmParameterSpec params)
Initializes the HMAC with the given secret key and algorithm parameters.
|
|
internalReset()
Resets the HMAC for further use, maintaining the secret key that the
HMAC was initialized with.
|
|
internalUpdate(byte input)
Processes the given byte.
|
|
internalUpdate(byte[] input,int offset,int len)
Processes the first
len bytes in input,
starting at offset.
|
|
isFipsApproved()
|
|
zeroize()
This function zeroizes the key so that it isn't in memory
|
| Methods inherited from class javax.crypto.MacSpi |
|---|
engineUpdate |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail
HmacSHA1
- public HmacSHA1()
- throws java.security.NoSuchAlgorithmException
Standard constructor, creates a new HmacSHA1 instance.
Verify the JCE framework in the constructor.
Throws:
java.lang.SecurityException - if fails to verify
the JCE framework. java.security.NoSuchAlgorithmExceptionMethod 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:
engineGetMacLength
- protected int engineGetMacLength( )
Returns the length of the HMAC in bytes.
Specified by:
engineGetMacLength in class javax.crypto.MacSpi
Returns:
the HMAC length in bytes.
Throws:
FIPSRuntimeException - if SelfTest.isFipsRunnable returns false. internalGetMacLength
- protected int internalGetMacLength( )
Returns the length of the HMAC in bytes.
Returns:
the HMAC length in bytes.
engineInit
- protected void engineInit(java.security.Key key,
- java.security.spec.AlgorithmParameterSpec params)
- throws java.security.InvalidKeyException
- java.security.InvalidAlgorithmParameterException
Initializes the HMAC with the given secret key and algorithm parameters.
Specified by:
engineInit in class javax.crypto.MacSpi
Parameters:
key - the secret key. params - the algorithm parameters. Throws:
java.security.InvalidKeyException - if the given key is inappropriate for
initializing this MAC. java.security.InvalidAlgorithmParameterException - if the given algorithm
parameters are inappropriate for this MAC. FIPSRuntimeException - if SelfTest.isFipsRunnable returns false. internalInit
- protected void internalInit(java.security.Key key,
- java.security.spec.AlgorithmParameterSpec params)
- throws java.security.InvalidKeyException
- java.security.InvalidAlgorithmParameterException
Initializes the HMAC with the given secret key and algorithm parameters.
Parameters:
key - the secret key. params - the algorithm parameters. Throws:
java.security.InvalidKeyException - if the given key is inappropriate for
initializing this MAC. java.security.InvalidAlgorithmParameterException - if the given algorithm
parameters are inappropriate for this MAC. engineUpdate
- protected void engineUpdate(byte input)
Processes the given byte.
Specified by:
engineUpdate in class javax.crypto.MacSpi
Parameters:
input - the input byte to be processed. Throws:
FIPSRuntimeException - if SelfTest.isFipsRunnable returns false. internalUpdate
- protected void internalUpdate(byte input)
Processes the given byte.
Parameters:
input - the input byte to be processed. engineUpdate
- protected void engineUpdate(byte[] input,
- int offset,
- int len)
Processes the first
len bytes in input,
starting at offset.
Specified by:
engineUpdate in class javax.crypto.MacSpi
Parameters:
input - the input buffer. offset - the offset in input where the input starts. len - the number of bytes to process. Throws:
FIPSRuntimeException - if SelfTest.isFipsRunnable returns false. internalUpdate
- protected void internalUpdate(byte[] input,
- int offset,
- int len)
Processes the first
len bytes in input,
starting at offset.
Parameters:
input - the input buffer. offset - the offset in input where the input starts. len - the number of bytes to process. engineDoFinal
- protected byte[] engineDoFinal( )
Completes the HMAC computation and resets the HMAC for further use,
maintaining the secret key that the HMAC was initialized with.
Specified by:
engineDoFinal in class javax.crypto.MacSpi
internalDoFinal
- protected byte[] internalDoFinal( )
Completes the HMAC computation and resets the HMAC for further use,
maintaining the secret key that the HMAC was initialized with.
Returns:
the HMAC result.
engineReset
- protected void engineReset()
Resets the HMAC for further use, maintaining the secret key that the
HMAC was initialized with.
Specified by:
engineReset in class javax.crypto.MacSpi
Throws:
FIPSRuntimeException - if SelfTest.isFipsRunnable returns false. internalReset
- protected void internalReset()
Resets the HMAC for further use, maintaining the secret key that the
HMAC was initialized with.
clone
- public java.lang.Object clone()
Overrides:
clone in class javax.crypto.MacSpi
internalClone
- public java.lang.Object internalClone( )
zeroize
- public void zeroize()
This function zeroizes the key so that it isn't in memory
finalize
- protected void finalize()
This function zeroizes the key so that it isn't in memory when GC is done.
Overrides:
finalize in class java.lang.Object