diff options
author | Paul Kehrer <paul.l.kehrer@gmail.com> | 2015-10-29 16:33:38 +0900 |
---|---|---|
committer | Paul Kehrer <paul.l.kehrer@gmail.com> | 2015-10-29 16:33:38 +0900 |
commit | a0cb27c6dcd09761f8a93cba106539ecb6135f9f (patch) | |
tree | f5010d2c256f4d8adebf4dd25b8ddc2158b74bab /src | |
parent | 81d4a35b08ba37cf51977a722114b802b5141593 (diff) | |
parent | e24534590de84ce9e4ae21f73eefec94396f0da4 (diff) | |
download | cryptography-a0cb27c6dcd09761f8a93cba106539ecb6135f9f.tar.gz cryptography-a0cb27c6dcd09761f8a93cba106539ecb6135f9f.tar.bz2 cryptography-a0cb27c6dcd09761f8a93cba106539ecb6135f9f.zip |
Merge pull request #2455 from alex/different-curves
Error cleanly if the public and private keys to an ECDH key exchange …
Diffstat (limited to 'src')
-rw-r--r-- | src/cryptography/hazmat/backends/openssl/ec.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/ec.py b/src/cryptography/hazmat/backends/openssl/ec.py index cfd559ae..aa4a7a35 100644 --- a/src/cryptography/hazmat/backends/openssl/ec.py +++ b/src/cryptography/hazmat/backends/openssl/ec.py @@ -182,6 +182,11 @@ class _EllipticCurvePrivateKey(object): _Reasons.UNSUPPORTED_EXCHANGE_ALGORITHM ) + if peer_public_key.curve.name != self.curve.name: + raise ValueError( + "peer_public_key and self are not on the same curve" + ) + group = self._backend._lib.EC_KEY_get0_group(self._ec_key) z_len = (self._backend._lib.EC_GROUP_get_degree(group) + 7) // 8 self._backend.openssl_assert(z_len > 0) |