aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2016-01-07 20:39:14 -0800
committerPaul Kehrer <paul.l.kehrer@gmail.com>2016-01-07 20:39:53 -0800
commit449befa9fb6cbcb73bd9dff8636c883e9d4e7e4e (patch)
tree28a3682654e79fcd54e347d3101b6c1588cbbd75 /src
parent952df2ffa4723b390b47205ea932b413a65405fd (diff)
downloadcryptography-449befa9fb6cbcb73bd9dff8636c883e9d4e7e4e.tar.gz
cryptography-449befa9fb6cbcb73bd9dff8636c883e9d4e7e4e.tar.bz2
cryptography-449befa9fb6cbcb73bd9dff8636c883e9d4e7e4e.zip
small cleanup to reduce code duplication for EVP_PKEY_new calls
Diffstat (limited to 'src')
-rw-r--r--src/cryptography/hazmat/backends/openssl/backend.py14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/backend.py b/src/cryptography/hazmat/backends/openssl/backend.py
index e8b0322e..3c615e87 100644
--- a/src/cryptography/hazmat/backends/openssl/backend.py
+++ b/src/cryptography/hazmat/backends/openssl/backend.py
@@ -1022,10 +1022,14 @@ class Backend(object):
return _RSAPublicKey(self, rsa_cdata, evp_pkey)
- def _rsa_cdata_to_evp_pkey(self, rsa_cdata):
+ def _create_evp_pkey_gc(self):
evp_pkey = self._lib.EVP_PKEY_new()
self.openssl_assert(evp_pkey != self._ffi.NULL)
evp_pkey = self._ffi.gc(evp_pkey, self._lib.EVP_PKEY_free)
+ return evp_pkey
+
+ def _rsa_cdata_to_evp_pkey(self, rsa_cdata):
+ evp_pkey = self._create_evp_pkey_gc()
res = self._lib.EVP_PKEY_set1_RSA(evp_pkey, rsa_cdata)
self.openssl_assert(res == 1)
return evp_pkey
@@ -1249,9 +1253,7 @@ class Backend(object):
return _DSAParameters(self, dsa_cdata)
def _dsa_cdata_to_evp_pkey(self, dsa_cdata):
- evp_pkey = self._lib.EVP_PKEY_new()
- self.openssl_assert(evp_pkey != self._ffi.NULL)
- evp_pkey = self._ffi.gc(evp_pkey, self._lib.EVP_PKEY_free)
+ evp_pkey = self._create_evp_pkey_gc()
res = self._lib.EVP_PKEY_set1_DSA(evp_pkey, dsa_cdata)
self.openssl_assert(res == 1)
return evp_pkey
@@ -1976,9 +1978,7 @@ class Backend(object):
)
def _ec_cdata_to_evp_pkey(self, ec_cdata):
- evp_pkey = self._lib.EVP_PKEY_new()
- self.openssl_assert(evp_pkey != self._ffi.NULL)
- evp_pkey = self._ffi.gc(evp_pkey, self._lib.EVP_PKEY_free)
+ evp_pkey = self._create_evp_pkey_gc()
res = self._lib.EVP_PKEY_set1_EC_KEY(evp_pkey, ec_cdata)
self.openssl_assert(res == 1)
return evp_pkey