aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2014-04-24 13:25:30 -0500
committerPaul Kehrer <paul.l.kehrer@gmail.com>2014-04-24 16:41:45 -0500
commit6ff1348dc76c8f900cabe0d281ef898cce6693f7 (patch)
tree0cad3d136a9733cebe6c4c0a84cdf7571a5d8741
parentc84b3fb5e150ad1d6a1a5f40b80d392461448665 (diff)
downloadcryptography-6ff1348dc76c8f900cabe0d281ef898cce6693f7.tar.gz
cryptography-6ff1348dc76c8f900cabe0d281ef898cce6693f7.tar.bz2
cryptography-6ff1348dc76c8f900cabe0d281ef898cce6693f7.zip
determine operation type by isinstance on the key
-rw-r--r--cryptography/hazmat/backends/openssl/backend.py26
1 files changed, 13 insertions, 13 deletions
diff --git a/cryptography/hazmat/backends/openssl/backend.py b/cryptography/hazmat/backends/openssl/backend.py
index 7d48228a..f1cd910b 100644
--- a/cryptography/hazmat/backends/openssl/backend.py
+++ b/cryptography/hazmat/backends/openssl/backend.py
@@ -475,12 +475,12 @@ class Backend(object):
)
def decrypt_rsa(self, private_key, ciphertext, padding):
- return self._enc_dec_rsa(b"DECRYPT", private_key, ciphertext, padding)
+ return self._enc_dec_rsa(private_key, ciphertext, padding)
def encrypt_rsa(self, public_key, plaintext, padding):
- return self._enc_dec_rsa(b"ENCRYPT", public_key, plaintext, padding)
+ return self._enc_dec_rsa(public_key, plaintext, padding)
- def _enc_dec_rsa(self, enc_dec, key, data, padding):
+ def _enc_dec_rsa(self, key, data, padding):
if isinstance(padding, PKCS1v15):
padding_enum = self._lib.RSA_PKCS1_PADDING
elif isinstance(padding, OAEP):
@@ -519,12 +519,12 @@ class Backend(object):
raise ValueError("Data too large for key size")
if self._lib.Cryptography_HAS_PKEY_CTX:
- return self._enc_dec_rsa_pkey_ctx(enc_dec, key, data, padding_enum)
+ return self._enc_dec_rsa_pkey_ctx(key, data, padding_enum)
else:
- return self._enc_dec_rsa_098(enc_dec, key, data, padding_enum)
+ return self._enc_dec_rsa_098(key, data, padding_enum)
- def _enc_dec_rsa_pkey_ctx(self, enc_dec, key, data, padding_enum):
- if enc_dec == b"ENCRYPT":
+ def _enc_dec_rsa_pkey_ctx(self, key, data, padding_enum):
+ if isinstance(key, rsa.RSAPublicKey):
init = self._lib.EVP_PKEY_encrypt_init
crypt = self._lib.Cryptography_EVP_PKEY_encrypt
evp_pkey = self._rsa_public_key_to_evp_pkey(key)
@@ -555,12 +555,12 @@ class Backend(object):
len(data)
)
if res <= 0:
- self._handle_rsa_enc_dec_error(enc_dec)
+ self._handle_rsa_enc_dec_error(key)
return self._ffi.buffer(buf)[:outlen[0]]
- def _enc_dec_rsa_098(self, enc_dec, key, data, padding_enum):
- if enc_dec == b"ENCRYPT":
+ def _enc_dec_rsa_098(self, key, data, padding_enum):
+ if isinstance(key, rsa.RSAPublicKey):
crypt = self._lib.RSA_public_encrypt
rsa_cdata = self._rsa_cdata_from_public_key(key)
else:
@@ -579,15 +579,15 @@ class Backend(object):
padding_enum
)
if res < 0:
- self._handle_rsa_enc_dec_error(enc_dec)
+ self._handle_rsa_enc_dec_error(key)
return self._ffi.buffer(buf)[:res]
- def _handle_rsa_enc_dec_error(self, enc_dec):
+ def _handle_rsa_enc_dec_error(self, key):
errors = self._consume_errors()
assert errors
assert errors[0].lib == self._lib.ERR_LIB_RSA
- if enc_dec == b"ENCRYPT":
+ if isinstance(key, rsa.RSAPublicKey):
assert (errors[0].reason ==
self._lib.RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE)
raise ValueError(