aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Stapleton <alexs@prol.etari.at>2014-04-01 12:04:44 +0100
committerAlex Stapleton <alexs@prol.etari.at>2014-04-01 12:11:12 +0100
commit976945d4078bcd16eb5a95526e6b26ace7b19bd3 (patch)
tree49d741ce3e25aa51638300ade46f2c643e77ce3b
parent621635712962267e589b19fb2292a764e5ad71de (diff)
downloadcryptography-976945d4078bcd16eb5a95526e6b26ace7b19bd3.tar.gz
cryptography-976945d4078bcd16eb5a95526e6b26ace7b19bd3.tar.bz2
cryptography-976945d4078bcd16eb5a95526e6b26ace7b19bd3.zip
Add _Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM
-rw-r--r--cryptography/exceptions.py1
-rw-r--r--cryptography/hazmat/backends/multibackend.py9
-rw-r--r--tests/hazmat/backends/test_multibackend.py12
3 files changed, 16 insertions, 6 deletions
diff --git a/cryptography/exceptions.py b/cryptography/exceptions.py
index d2782be6..b4ee8feb 100644
--- a/cryptography/exceptions.py
+++ b/cryptography/exceptions.py
@@ -20,6 +20,7 @@ class _Reasons(object):
UNSUPPORTED_CIPHER = object()
UNSUPPORTED_PADDING = object()
UNSUPPORTED_MGF = object()
+ UNSUPPORTED_PUBLIC_KEY_ALGORITHM = object()
class UnsupportedAlgorithm(Exception):
diff --git a/cryptography/hazmat/backends/multibackend.py b/cryptography/hazmat/backends/multibackend.py
index 2a1ec439..aa649dd3 100644
--- a/cryptography/hazmat/backends/multibackend.py
+++ b/cryptography/hazmat/backends/multibackend.py
@@ -126,16 +126,19 @@ class MultiBackend(object):
def generate_rsa_private_key(self, public_exponent, key_size):
for b in self._filtered_backends(RSABackend):
return b.generate_rsa_private_key(public_exponent, key_size)
- raise UnsupportedAlgorithm("RSA is not supported by the backend")
+ raise UnsupportedAlgorithm("RSA is not supported by the backend",
+ _Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM)
def create_rsa_signature_ctx(self, private_key, padding, algorithm):
for b in self._filtered_backends(RSABackend):
return b.create_rsa_signature_ctx(private_key, padding, algorithm)
- raise UnsupportedAlgorithm("RSA is not supported by the backend")
+ raise UnsupportedAlgorithm("RSA is not supported by the backend",
+ _Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM)
def create_rsa_verification_ctx(self, public_key, signature, padding,
algorithm):
for b in self._filtered_backends(RSABackend):
return b.create_rsa_verification_ctx(public_key, signature,
padding, algorithm)
- raise UnsupportedAlgorithm("RSA is not supported by the backend")
+ raise UnsupportedAlgorithm("RSA is not supported by the backend",
+ _Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM)
diff --git a/tests/hazmat/backends/test_multibackend.py b/tests/hazmat/backends/test_multibackend.py
index b7bcaf69..c91cb471 100644
--- a/tests/hazmat/backends/test_multibackend.py
+++ b/tests/hazmat/backends/test_multibackend.py
@@ -179,13 +179,19 @@ class TestMultiBackend(object):
padding.PKCS1v15(), hashes.MD5())
backend = MultiBackend([])
- with pytest.raises(UnsupportedAlgorithm):
+ with raises_unsupported_algorithm(
+ _Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM
+ ):
backend.generate_rsa_private_key(key_size=1024, public_exponent=3)
- with pytest.raises(UnsupportedAlgorithm):
+ with raises_unsupported_algorithm(
+ _Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM
+ ):
backend.create_rsa_signature_ctx("private_key", padding.PKCS1v15(),
hashes.MD5())
- with pytest.raises(UnsupportedAlgorithm):
+ with raises_unsupported_algorithm(
+ _Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM
+ ):
backend.create_rsa_verification_ctx(
"public_key", "sig", padding.PKCS1v15(), hashes.MD5())