Bouncy Castle Cryptography Library 1.45

## org.bouncycastle.crypto.tls
Class TlsMac

    java.lang.Object
      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.

Constructor Summary
`protected` `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()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

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

### getSize

    protected int getSize()

  Returns:
    The Keysize of the mac.

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

Bouncy Castle Cryptography Library 1.45