diff options
-rw-r--r-- | cryptography/hazmat/backends/multibackend.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/cryptography/hazmat/backends/multibackend.py b/cryptography/hazmat/backends/multibackend.py index 86cded85..23385682 100644 --- a/cryptography/hazmat/backends/multibackend.py +++ b/cryptography/hazmat/backends/multibackend.py @@ -16,12 +16,13 @@ from __future__ import absolute_import, division, print_function from cryptography import utils from cryptography.exceptions import UnsupportedAlgorithm, _Reasons from cryptography.hazmat.backends.interfaces import ( - CipherBackend, DSABackend, HMACBackend, HashBackend, PBKDF2HMACBackend, - RSABackend + CipherBackend, CMACBackend, DSABackend, HMACBackend, HashBackend, + PBKDF2HMACBackend, RSABackend ) @utils.register_interface(CipherBackend) +@utils.register_interface(CMACBackend) @utils.register_interface(HashBackend) @utils.register_interface(HMACBackend) @utils.register_interface(PBKDF2HMACBackend) @@ -156,3 +157,11 @@ class MultiBackend(object): return b.generate_dsa_private_key(parameters) raise UnsupportedAlgorithm("DSA is not supported by the backend", _Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM) + + def cmac_supported(self): + for b in self._filtered_backends(CMACBackend): + return b.cmac_supported() + + def create_cmac_ctx(self, algorithm): + for b in self._filtered_backends(CMACBackend): + return b.create_cmac_ctx(algorithm) |