diff options
author | Alex Gaynor <alex.gaynor@gmail.com> | 2015-03-11 14:23:09 -0400 |
---|---|---|
committer | Alex Gaynor <alex.gaynor@gmail.com> | 2015-03-11 14:23:09 -0400 |
commit | d1cfc81c9b675fd8fc20d31600de473b8e7ad847 (patch) | |
tree | f35a13e199651feb7b1e9eb2c233af8627b742ca /src | |
parent | b9287cac82a06fde4e474d88ee1989efd7144dff (diff) | |
parent | f9312d5f85ac19a9c0122ea8caa9c596db9a1f15 (diff) | |
download | cryptography-d1cfc81c9b675fd8fc20d31600de473b8e7ad847.tar.gz cryptography-d1cfc81c9b675fd8fc20d31600de473b8e7ad847.tar.bz2 cryptography-d1cfc81c9b675fd8fc20d31600de473b8e7ad847.zip |
Merge pull request #1746 from reaperhulk/private-bytes-cleanup
refactor OpenSSL backend private_key_bytes
Diffstat (limited to 'src')
-rw-r--r-- | src/cryptography/hazmat/backends/openssl/backend.py | 11 | ||||
-rw-r--r-- | src/cryptography/hazmat/backends/openssl/dsa.py | 1 | ||||
-rw-r--r-- | src/cryptography/hazmat/backends/openssl/ec.py | 1 | ||||
-rw-r--r-- | src/cryptography/hazmat/backends/openssl/rsa.py | 1 |
4 files changed, 9 insertions, 5 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/backend.py b/src/cryptography/hazmat/backends/openssl/backend.py index 25cce6e9..6b5c1a0c 100644 --- a/src/cryptography/hazmat/backends/openssl/backend.py +++ b/src/cryptography/hazmat/backends/openssl/backend.py @@ -1124,7 +1124,7 @@ class Backend(object): return ctx def _private_key_bytes(self, encoding, format, encryption_algorithm, - traditional_write_func, evp_pkey, cdata): + evp_pkey, cdata): if not isinstance(encoding, serialization.Encoding): raise TypeError("encoding must be an item from the Encoding enum") @@ -1141,7 +1141,14 @@ class Backend(object): write_bio = self._lib.PEM_write_bio_PKCS8PrivateKey key = evp_pkey elif format is serialization.PrivateFormat.TraditionalOpenSSL: - write_bio = traditional_write_func + if evp_pkey.type == self._lib.EVP_PKEY_RSA: + write_bio = self._lib.PEM_write_bio_RSAPrivateKey + elif evp_pkey.type == self._lib.EVP_PKEY_DSA: + write_bio = self._lib.PEM_write_bio_DSAPrivateKey + elif (self._lib.Cryptography_HAS_EC == 1 and + evp_pkey.type == self._lib.EVP_PKEY_EC): + write_bio = self._lib.PEM_write_bio_ECPrivateKey + key = cdata if not isinstance(encryption_algorithm, diff --git a/src/cryptography/hazmat/backends/openssl/dsa.py b/src/cryptography/hazmat/backends/openssl/dsa.py index 4e9ab3df..43c077dd 100644 --- a/src/cryptography/hazmat/backends/openssl/dsa.py +++ b/src/cryptography/hazmat/backends/openssl/dsa.py @@ -168,7 +168,6 @@ class _DSAPrivateKey(object): encoding, format, encryption_algorithm, - self._backend._lib.PEM_write_bio_DSAPrivateKey, evp_pkey, self._dsa_cdata ) diff --git a/src/cryptography/hazmat/backends/openssl/ec.py b/src/cryptography/hazmat/backends/openssl/ec.py index 76c529db..393a991f 100644 --- a/src/cryptography/hazmat/backends/openssl/ec.py +++ b/src/cryptography/hazmat/backends/openssl/ec.py @@ -212,7 +212,6 @@ class _EllipticCurvePrivateKey(object): encoding, format, encryption_algorithm, - self._backend._lib.PEM_write_bio_ECPrivateKey, evp_pkey, self._ec_key ) diff --git a/src/cryptography/hazmat/backends/openssl/rsa.py b/src/cryptography/hazmat/backends/openssl/rsa.py index 8aafa8a7..30f79912 100644 --- a/src/cryptography/hazmat/backends/openssl/rsa.py +++ b/src/cryptography/hazmat/backends/openssl/rsa.py @@ -566,7 +566,6 @@ class _RSAPrivateKey(object): encoding, format, encryption_algorithm, - self._backend._lib.PEM_write_bio_RSAPrivateKey, self._evp_pkey, self._rsa_cdata ) |