'Gets a 4-tuple representing the message authentication code.
(<hash module>, <inner hash value>, <outer hash value>,
<digest size>)
@type mac: L{bytes}
@param mac: a key mapping into macMap
@type key: L{bytes}
@param key: the MAC key.
@rtype: L{bytes}
@return: The MAC components.'

def _getMAC(self, mac, key):

    mod = self.macMap[mac]
    if (not mod):
        return (None, '', '', 0)
    hashObject = mod()
    digestSize = hashObject.digest_size
    blockSize = hashObject.block_size
    key = (key[:digestSize] + ('\x00' * (blockSize - digestSize)))
    i = key.translate(hmac.trans_36)
    o = key.translate(hmac.trans_5C)
    result = _MACParams((mod, i, o, digestSize))
    result.key = key
    return result
