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.NoSuchAlgorithmException
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:
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