Bouncy Castle Cryptography 1.46

org.bouncycastle.crypto.tls
Class TlsMac

java.lang.Object
  extended by org.bouncycastle.crypto.tls.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.


Field Summary
protected  HMac mac
           
protected  long seqNo
           
 
Constructor Summary
TlsMac(Digest digest, byte[] key_block, int offset, int len)
          Generate a new instance of an TlsMac.
 
Method Summary
 byte[] calculateMac(short type, byte[] message, int offset, int len)
          Calculate the mac for some given data.
 int getSize()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

seqNo

protected long seqNo

mac

protected HMac mac
Constructor Detail

TlsMac

public 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 Detail

getSize

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

calculateMac

public 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.

Bouncy Castle Cryptography 1.46