com.ibm.crypto.hdwrCCA.provider
Class HmacSHA256
- java.lang.Object
-
- javax.crypto.MacSpi
-
- com.ibm.crypto.hdwrCCA.provider.HmacSHA256
-
- All Implemented Interfaces:
- java.lang.Cloneable
public final class HmacSHA256 extends javax.crypto.MacSpiThis is an implementation of the HMAC-SHA256 algorithm.
-
-
Constructor Summary
Constructors Constructor and Description HmacSHA256()Standard constructor, creates a new HmacSHA256 instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description java.lang.Objectclone()protected byte[]computeHMACUsingCCA(byte[] text, int length, com.ibm.crypto.hdwrCCA.provider.HmacSHA.Segment segment)This method computes a partial ( or full ) HMACE on a given piece of text with a particular key used to initialize this instance of the HMAC.protected byte[]engineDoFinal()Completes the HMAC computation and resets the HMAC for further use, maintaining the secret key that the HMAC was initialized with.protected intengineGetMacLength()Returns the length of the HMAC in bytes.protected voidengineInit(java.security.Key key, java.security.spec.AlgorithmParameterSpec params)Initializes the HMAC with the given secret key and algorithm parameters.protected voidengineReset()Resets the HMAC for further use, maintaining the secret key that the HMAC was initialized with.protected voidengineUpdate(byte input)Processes the given byte.protected voidengineUpdate(byte[] input, int offset, int len)Processes the firstlenbytes ininput, starting atoffset.
-
-
-
Constructor Detail
-
HmacSHA256
public HmacSHA256() throws java.security.NoSuchAlgorithmExceptionStandard constructor, creates a new HmacSHA256 instance. Verify the JCE framework in the constructor.- Throws:
java.lang.SecurityException- if fails to verify the JCE framework.java.security.NoSuchAlgorithmException
-
-
Method Detail
-
engineGetMacLength
protected int engineGetMacLength()
Returns the length of the HMAC in bytes.- Specified by:
engineGetMacLengthin classjavax.crypto.MacSpi- 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.InvalidAlgorithmParameterExceptionInitializes the HMAC with the given secret key and algorithm parameters.- Specified by:
engineInitin classjavax.crypto.MacSpi- Parameters:
key- the secret key, must be an instance ofSecretKeyparams- the algorithm parameters. This parameter is ignored- 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. This should not occur, since theparamsparameter is currently ignored.
-
engineUpdate
protected void engineUpdate(byte input)
Processes the given byte.- Specified by:
engineUpdatein classjavax.crypto.MacSpi- Parameters:
input- the input byte to be processed.
-
engineUpdate
protected void engineUpdate(byte[] input, int offset, int len)Processes the firstlenbytes ininput, starting atoffset.- Specified by:
engineUpdatein classjavax.crypto.MacSpi- Parameters:
input- the input buffer.offset- the offset ininputwhere 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:
engineDoFinalin classjavax.crypto.MacSpi- 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:
engineResetin classjavax.crypto.MacSpi
-
clone
public java.lang.Object clone()
- Overrides:
clonein classjavax.crypto.MacSpi
-
computeHMACUsingCCA
protected byte[] computeHMACUsingCCA(byte[] text, int length, com.ibm.crypto.hdwrCCA.provider.HmacSHA.Segment segment)This method computes a partial ( or full ) HMACE on a given piece of text with a particular key used to initialize this instance of the HMAC.- Parameters:
text- The clear text you wish to perform a HMAC upon.length- The length of clear text you wish to perform a HMAC upon.segment- TheSegmentthat you wish to use.- Returns:
- A byte array containing the computed mac if the segment is LAST or ONLY. A null value will be returned otherwise.
-
-