public class TlsSuiteHMac extends java.lang.Object implements TlsSuiteMac
| Modifier and Type | Field and Description |
|---|---|
protected TlsCryptoParameters |
cryptoParams |
protected int |
digestBlockSize |
protected int |
digestOverhead |
protected TlsHMAC |
mac |
protected int |
macSize |
| Constructor and Description |
|---|
TlsSuiteHMac(TlsCryptoParameters cryptoParams,
TlsHMAC mac)
Generate a new instance of a TlsMac.
|
| Modifier and Type | Method and Description |
|---|---|
byte[] |
calculateMac(long seqNo,
short type,
byte[] msg,
int msgOff,
int msgLen)
Calculate the MAC for some given data.
|
byte[] |
calculateMacConstantTime(long seqNo,
short type,
byte[] msg,
int msgOff,
int msgLen,
int fullLength,
byte[] dummyData)
Constant time calculation of the MAC for some given data with a given expected length.
|
protected int |
getDigestBlockCount(int inputLength) |
protected static int |
getMacSize(TlsCryptoParameters cryptoParams,
TlsMAC mac) |
int |
getSize()
Return the output length (in bytes) of this MAC.
|
protected byte[] |
truncate(byte[] bs) |
protected final TlsCryptoParameters cryptoParams
protected final TlsHMAC mac
protected final int digestBlockSize
protected final int digestOverhead
protected final int macSize
public TlsSuiteHMac(TlsCryptoParameters cryptoParams, TlsHMAC mac)
cryptoParams - the TLS client context specific crypto parameters.mac - The MAC to use.protected static int getMacSize(TlsCryptoParameters cryptoParams, TlsMAC mac)
public int getSize()
TlsSuiteMacgetSize in interface TlsSuiteMacpublic byte[] calculateMac(long seqNo,
short type,
byte[] msg,
int msgOff,
int msgLen)
TlsSuiteMaccalculateMac in interface TlsSuiteMacseqNo - The sequence number of the record.type - The content type of the message.msg - A byte array containing the message.msgOff - The number of bytes to skip, before the message starts.msgLen - The length of the message.public byte[] calculateMacConstantTime(long seqNo,
short type,
byte[] msg,
int msgOff,
int msgLen,
int fullLength,
byte[] dummyData)
TlsSuiteMaccalculateMacConstantTime in interface TlsSuiteMacseqNo - The sequence number of the record.type - The content type of the message.msg - A byte array containing the message.msgOff - The number of bytes to skip, before the message starts.msgLen - The length of the message.fullLength - The expected length of the full message.dummyData - Random data for padding out the MAC calculation if required.protected int getDigestBlockCount(int inputLength)
protected byte[] truncate(byte[] bs)