org.bouncycastle.crypto.tls

Class TlsMac


public class TlsMac
extends java.lang.Object

A generic TLS MAC implementation, which can be used with any kind of Digest to act as an HMAC.

Constructor Summary

TlsMac(Digest digest, byte[] key_block, int offset, int len)
Generate a new instance of an TlsMac.

Method Summary

protected byte[]
calculateMac(short type, byte[] message, int offset, int len)
Calculate the mac for some given data.
protected int
getSize()

Constructor Details

TlsMac

protected TlsMac(Digest digest,
                 byte[] key_block,
                 int offset,
                 int len)
Generate a new instance of an TlsMac.
Parameters:
digest - The digest to use.
key_block - A byte-array where the key for this mac is located.
offset - The number of bytes to skip, before the key starts in the buffer.
len - The length of the key.

Method Details

calculateMac

protected byte[] calculateMac(short type,
                              byte[] message,
                              int offset,
                              int len)
Calculate the mac for some given data.

TlsMac will keep track of the sequence number internally.

Parameters:
type - The message type of the message.
message - A byte-buffer containing the message.
offset - The number of bytes to skip, before the message starts.
len - The length of the message.
Returns:
A new byte-buffer containing the mac value.

getSize

protected int getSize()
Returns:
The Keysize of the mac.