aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2014-04-05 19:57:48 -0500
committerPaul Kehrer <paul.l.kehrer@gmail.com>2014-04-20 16:53:02 -0500
commit55c4afc2b9d5178293d8fec4a08ff08db5bd43e1 (patch)
treec9e8cf96cba2ec8ed5d2f633e038d7e5714be3e9
parent4c0a374dd90cd48c21267e4d8be1ddef8288b29c (diff)
downloadcryptography-55c4afc2b9d5178293d8fec4a08ff08db5bd43e1.tar.gz
cryptography-55c4afc2b9d5178293d8fec4a08ff08db5bd43e1.tar.bz2
cryptography-55c4afc2b9d5178293d8fec4a08ff08db5bd43e1.zip
split 0.9.8 and evp_pkey_ctx branches into separate methods
-rw-r--r--cryptography/hazmat/backends/openssl/backend.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/cryptography/hazmat/backends/openssl/backend.py b/cryptography/hazmat/backends/openssl/backend.py
index ca898dfd..5dc8b389 100644
--- a/cryptography/hazmat/backends/openssl/backend.py
+++ b/cryptography/hazmat/backends/openssl/backend.py
@@ -509,6 +509,12 @@ class Backend(object):
)
if self._lib.Cryptography_HAS_PKEY_CTX:
+ return self._decrypt_rsa_pkey_ctx(private_key, ciphertext,
+ padding_enum)
+ else:
+ return self._decrypt_rsa_098(private_key, ciphertext, padding_enum)
+
+ def _decrypt_rsa_pkey_ctx(self, private_key, ciphertext, padding_enum):
evp_pkey = self._rsa_private_key_to_evp_pkey(private_key)
pkey_ctx = self._lib.EVP_PKEY_CTX_new(
evp_pkey, self._ffi.NULL
@@ -536,7 +542,8 @@ class Backend(object):
raise self._unknown_error(errors[0]) # TODO
return self._ffi.buffer(buf)[:outlen[0]]
- else:
+
+ def _decrypt_rsa_098(self, private_key, ciphertext, padding_enum):
rsa_cdata = self._rsa_cdata_from_private_key(private_key)
rsa_cdata = self._ffi.gc(rsa_cdata, self._lib.RSA_free)
res = self._lib.RSA_blinding_on(rsa_cdata, self._ffi.NULL)