diff options
author | michael-hart <michael.hart1994@gmail.com> | 2014-09-26 08:51:59 +0100 |
---|---|---|
committer | michael-hart <michael.hart1994@gmail.com> | 2014-09-26 08:51:59 +0100 |
commit | 8fee6049ae99c1f68f31d71759d56e4faf0847e2 (patch) | |
tree | 497b79135fc3c879a622d6c37a7737979869b9b4 /cryptography | |
parent | 15b59ee8d0b8dc814439243c8dd9cfadd8999653 (diff) | |
download | cryptography-8fee6049ae99c1f68f31d71759d56e4faf0847e2.tar.gz cryptography-8fee6049ae99c1f68f31d71759d56e4faf0847e2.tar.bz2 cryptography-8fee6049ae99c1f68f31d71759d56e4faf0847e2.zip |
Added code and tests of EC public keys
Diffstat (limited to 'cryptography')
-rw-r--r-- | cryptography/hazmat/backends/openssl/backend.py | 6 |
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.") |