aboutsummaryrefslogtreecommitdiffstats
path: root/cryptography
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2014-05-01 15:47:24 -0500
committerPaul Kehrer <paul.l.kehrer@gmail.com>2014-05-02 08:48:29 -0500
commit29c3008aa12d845850aae6d8f52aee6d3609dda0 (patch)
tree64e7899946d829f10ff70431ece9ebb66b18ae8c /cryptography
parentd80ff2d3a6a443e5aea217d6bc3d356dab2b99b4 (diff)
downloadcryptography-29c3008aa12d845850aae6d8f52aee6d3609dda0.tar.gz
cryptography-29c3008aa12d845850aae6d8f52aee6d3609dda0.tar.bz2
cryptography-29c3008aa12d845850aae6d8f52aee6d3609dda0.zip
expand DSA multibackend support
Diffstat (limited to 'cryptography')
-rw-r--r--cryptography/hazmat/backends/multibackend.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/cryptography/hazmat/backends/multibackend.py b/cryptography/hazmat/backends/multibackend.py
index 981a60bd..753f4fc6 100644
--- a/cryptography/hazmat/backends/multibackend.py
+++ b/cryptography/hazmat/backends/multibackend.py
@@ -158,6 +158,31 @@ class MultiBackend(object):
raise UnsupportedAlgorithm("DSA is not supported by the backend",
_Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM)
+ def create_dsa_verification_ctx(self, public_key, signature, algorithm):
+ for b in self._filtered_backends(DSABackend):
+ return b.create_dsa_verification_ctx(public_key, signature,
+ algorithm)
+ raise UnsupportedAlgorithm("DSA is not supported by the backend",
+ _Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM)
+
+ def create_dsa_signature_ctx(self, private_key, algorithm):
+ for b in self._filtered_backends(DSABackend):
+ return b.create_dsa_signature_ctx(private_key, algorithm)
+ raise UnsupportedAlgorithm("DSA is not supported by the backend",
+ _Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM)
+
+ def dsa_hash_supported(self, algorithm):
+ for b in self._filtered_backends(DSABackend):
+ return b.dsa_hash_supported(algorithm)
+ raise UnsupportedAlgorithm("DSA is not supported by the backend",
+ _Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM)
+
+ def dsa_parameters_supported(self, p, q, g):
+ for b in self._filtered_backends(DSABackend):
+ return b.dsa_parameters_supported(p, q, g)
+ raise UnsupportedAlgorithm("DSA is not supported by the backend",
+ _Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM)
+
def cmac_algorithm_supported(self, algorithm):
return any(
b.cmac_algorithm_supported(algorithm)