aboutsummaryrefslogtreecommitdiffstats
path: root/cryptography
diff options
context:
space:
mode:
authormichael-hart <michael.hart1994@gmail.com>2014-09-26 08:51:59 +0100
committermichael-hart <michael.hart1994@gmail.com>2014-09-26 18:40:29 +0100
commitbdceabc6ad5c48038ee767d64d856e15e016ca7a (patch)
tree82771340bb9d7c23afc5bf7d5cc3f39686fe1e07 /cryptography
parent0a4c401431f2864b03e6e8baf3c0478bfe74b8b2 (diff)
downloadcryptography-bdceabc6ad5c48038ee767d64d856e15e016ca7a.tar.gz
cryptography-bdceabc6ad5c48038ee767d64d856e15e016ca7a.tar.bz2
cryptography-bdceabc6ad5c48038ee767d64d856e15e016ca7a.zip
Added code and tests of EC public keys
Diffstat (limited to 'cryptography')
-rw-r--r--cryptography/hazmat/backends/openssl/backend.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/cryptography/hazmat/backends/openssl/backend.py b/cryptography/hazmat/backends/openssl/backend.py
index dd50fd3b..0b129d1a 100644
--- a/cryptography/hazmat/backends/openssl/backend.py
+++ b/cryptography/hazmat/backends/openssl/backend.py
@@ -501,6 +501,12 @@ class Backend(object):
assert dsa_cdata != self._ffi.NULL
dsa_cdata = self._ffi.gc(dsa_cdata, self._lib.DSA_free)
return _DSAPublicKey(self, dsa_cdata)
+ elif self._lib.Cryptography_HAS_EC == 1 \
+ and type == self._lib.EVP_PKEY_EC:
+ ec_cdata = self._lib.EVP_PKEY_get1_EC_KEY(evp_pkey)
+ assert ec_cdata != self._ffi.NULL
+ ec_cdata = self._ffi.gc(ec_cdata, self._lib.EC_KEY_free)
+ return _EllipticCurvePublicKey(self, ec_cdata, None)
else:
raise UnsupportedAlgorithm("Unsupported key type.")