aboutsummaryrefslogtreecommitdiffstats
path: root/cryptography
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2014-04-09 14:11:42 -0500
committerPaul Kehrer <paul.l.kehrer@gmail.com>2014-04-20 16:53:03 -0500
commit67feca0acd64a5c19fa56efd754430d4213e9f8b (patch)
tree21a7504dfd74e9d30f65ea08daf77af50f4b1618 /cryptography
parenta84de770889dec70d9976981445e68f9c4d658bf (diff)
downloadcryptography-67feca0acd64a5c19fa56efd754430d4213e9f8b.tar.gz
cryptography-67feca0acd64a5c19fa56efd754430d4213e9f8b.tar.bz2
cryptography-67feca0acd64a5c19fa56efd754430d4213e9f8b.zip
more testing for rsa decrypt
Diffstat (limited to 'cryptography')
-rw-r--r--cryptography/hazmat/backends/openssl/backend.py10
-rw-r--r--cryptography/hazmat/bindings/openssl/err.py2
2 files changed, 12 insertions, 0 deletions
diff --git a/cryptography/hazmat/backends/openssl/backend.py b/cryptography/hazmat/backends/openssl/backend.py
index 0d27bc7f..1586bf71 100644
--- a/cryptography/hazmat/backends/openssl/backend.py
+++ b/cryptography/hazmat/backends/openssl/backend.py
@@ -544,6 +544,11 @@ class Backend(object):
if res <= 0:
errors = self._consume_errors()
assert errors
+ assert errors[0].lib == self._lib.ERR_LIB_RSA
+ assert (errors[0].reason ==
+ self._lib.RSA_R_BLOCK_TYPE_IS_NOT_01 or
+ errors[0].reason ==
+ self._lib.RSA_R_BLOCK_TYPE_IS_NOT_02)
raise InvalidDecryption
return self._ffi.buffer(buf)[:outlen[0]]
@@ -566,6 +571,11 @@ class Backend(object):
if res < 0:
errors = self._consume_errors()
assert errors
+ assert errors[0].lib == self._lib.ERR_LIB_RSA
+ assert (errors[0].reason ==
+ self._lib.RSA_R_BLOCK_TYPE_IS_NOT_01 or
+ errors[0].reason ==
+ self._lib.RSA_R_BLOCK_TYPE_IS_NOT_02)
raise InvalidDecryption
return self._ffi.buffer(buf)[:res]
diff --git a/cryptography/hazmat/bindings/openssl/err.py b/cryptography/hazmat/bindings/openssl/err.py
index f51393aa..c08c880c 100644
--- a/cryptography/hazmat/bindings/openssl/err.py
+++ b/cryptography/hazmat/bindings/openssl/err.py
@@ -216,6 +216,8 @@ static const int PEM_R_UNSUPPORTED_ENCRYPTION;
static const int RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE;
static const int RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY;
+static const int RSA_R_BLOCK_TYPE_IS_NOT_01;
+static const int RSA_R_BLOCK_TYPE_IS_NOT_02;
"""
FUNCTIONS = """