diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/_cffi_src/openssl/cryptography.py | 10 | ||||
-rw-r--r-- | src/cryptography/hazmat/backends/openssl/backend.py | 4 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/_cffi_src/openssl/cryptography.py b/src/_cffi_src/openssl/cryptography.py index c3b0a1dc..69824010 100644 --- a/src/_cffi_src/openssl/cryptography.py +++ b/src/_cffi_src/openssl/cryptography.py @@ -36,12 +36,22 @@ INCLUDES = """ (OPENSSL_VERSION_NUMBER < 0x10100000) #define CRYPTOGRAPHY_OPENSSL_LESS_THAN_110PRE5 \ (OPENSSL_VERSION_NUMBER < 0x10100005) + +#if defined(LIBRESSL_VERSION_NUMBER) +#define CRYPTOGRAPHY_IS_LIBRESSL 1 +#else +#define CRYPTOGRAPHY_IS_LIBRESSL 0 +#endif """ TYPES = """ static const int CRYPTOGRAPHY_OPENSSL_101_OR_GREATER; +static const int CRYPTOGRAPHY_OPENSSL_110_OR_GREATER; + static const int CRYPTOGRAPHY_OPENSSL_LESS_THAN_101; + +static const int CRYPTOGRAPHY_IS_LIBRESSL; """ FUNCTIONS = """ diff --git a/src/cryptography/hazmat/backends/openssl/backend.py b/src/cryptography/hazmat/backends/openssl/backend.py index 3449e217..a1de1a89 100644 --- a/src/cryptography/hazmat/backends/openssl/backend.py +++ b/src/cryptography/hazmat/backends/openssl/backend.py @@ -1475,7 +1475,9 @@ class Backend(object): check_y = self._lib.BN_CTX_get(bn_ctx) res = set_func(group, point, bn_x, bn_y, bn_ctx) - self.openssl_assert(res == 1) + if res != 1: + self._consume_errors() + raise ValueError("EC point not on curve") res = get_func(group, point, check_x, check_y, bn_ctx) self.openssl_assert(res == 1) |