diff options
author | Paul Kehrer <paul.l.kehrer@gmail.com> | 2014-04-25 09:08:42 -0500 |
---|---|---|
committer | Paul Kehrer <paul.l.kehrer@gmail.com> | 2014-04-25 09:08:42 -0500 |
commit | e86d8827de205c6d476e1567e887e0852a608110 (patch) | |
tree | ad93848151b2d1e9116a53cdc7b349102a210a37 /cryptography | |
parent | c83e6ef3a210a0294658baf1f7e6ecbd7a7e3d05 (diff) | |
download | cryptography-e86d8827de205c6d476e1567e887e0852a608110.tar.gz cryptography-e86d8827de205c6d476e1567e887e0852a608110.tar.bz2 cryptography-e86d8827de205c6d476e1567e887e0852a608110.zip |
move ct length check into decrypt function, address review comments
Diffstat (limited to 'cryptography')
-rw-r--r-- | cryptography/hazmat/backends/openssl/backend.py | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/cryptography/hazmat/backends/openssl/backend.py b/cryptography/hazmat/backends/openssl/backend.py index f1cd910b..2114cd8f 100644 --- a/cryptography/hazmat/backends/openssl/backend.py +++ b/cryptography/hazmat/backends/openssl/backend.py @@ -475,6 +475,10 @@ class Backend(object): ) def decrypt_rsa(self, private_key, ciphertext, padding): + key_size_bytes = int(math.ceil(private_key.key_size / 8.0)) + if key_size_bytes != len(ciphertext): + raise ValueError("Ciphertext length must be equal to key size.") + return self._enc_dec_rsa(private_key, ciphertext, padding) def encrypt_rsa(self, public_key, plaintext, padding): @@ -514,10 +518,6 @@ class Backend(object): _Reasons.UNSUPPORTED_PADDING ) - key_size_bytes = int(math.ceil(key.key_size / 8.0)) - if key_size_bytes < len(data): - raise ValueError("Data too large for key size") - if self._lib.Cryptography_HAS_PKEY_CTX: return self._enc_dec_rsa_pkey_ctx(key, data, padding_enum) else: |