diff options
author | Alex Gaynor <alex.gaynor@gmail.com> | 2015-10-12 21:30:20 -0400 |
---|---|---|
committer | Alex Gaynor <alex.gaynor@gmail.com> | 2015-10-12 21:30:20 -0400 |
commit | 9adf8c6a55dbf2a6a286324fb381bc4941558739 (patch) | |
tree | 458e16dbab0a3f7e377f7b064dbe998c5879a40e /src | |
parent | 8005a5161cc6e5ba96ceabd9335ebefa373a2736 (diff) | |
parent | 00f94097219d14036d7172994e54dc6a6d2fa8f3 (diff) | |
download | cryptography-9adf8c6a55dbf2a6a286324fb381bc4941558739.tar.gz cryptography-9adf8c6a55dbf2a6a286324fb381bc4941558739.tar.bz2 cryptography-9adf8c6a55dbf2a6a286324fb381bc4941558739.zip |
Merge pull request #2409 from simo5/InvalidECfix
Catch Invalid X or Y points and raise a ValueError
Diffstat (limited to 'src')
-rw-r--r-- | src/cryptography/hazmat/backends/openssl/backend.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/backend.py b/src/cryptography/hazmat/backends/openssl/backend.py index ac025e95..0d3b3dd4 100644 --- a/src/cryptography/hazmat/backends/openssl/backend.py +++ b/src/cryptography/hazmat/backends/openssl/backend.py @@ -1776,9 +1776,13 @@ class Backend(object): self.openssl_assert(res == 1) res = self._lib.BN_cmp(bn_x, check_x) - self.openssl_assert(res == 0) + if res != 0: + self._consume_errors() + raise ValueError("Invalid EC Key X point.") res = self._lib.BN_cmp(bn_y, check_y) - self.openssl_assert(res == 0) + if res != 0: + self._consume_errors() + raise ValueError("Invalid EC Key Y point.") res = self._lib.EC_KEY_set_public_key(ctx, point) self.openssl_assert(res == 1) |