Add MACContext and switch HMAC and CMAC to use it.

Fixes #1319.

Thoughts?
Remove it from the interface, yes. It can stay on the concrete class

On Mon, Oct 13, 2014 at 8:38 PM, Terry Chia <notifications@github.com>
wrote:

> In cryptography/hazmat/primitives/interfaces.py:
>
> > @@ -474,3 +475,37 @@ def public_numbers(self):
> >          """
> >          Returns an EllipticCurvePublicNumbers.
> >          """
> > +
> > +
> > +@six.add_metaclass(abc.ABCMeta)
> > +class MACContext(object):
> > +    @abc.abstractproperty
> > +    def algorithm(self):
> > +        """
> > +        The algorithm that will be used by this context.
> > +        """
>
> So just to be clear, I should remove the algorithm property from
> MACContext?
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/pyca/cryptography/pull/1396/files#r18807562>.
>



-- 
"I disapprove of what you say, but I will defend to the death your right to
say it." -- Evelyn Beatrice Hall (summarizing Voltaire)
"The people's good is the highest law." -- Cicero
GPG Key fingerprint: 125F 5C67 DFE9 4084