diff options
| author | Alex Stapleton <alexs@prol.etari.at> | 2014-07-09 19:13:52 +0100 |
|---|---|---|
| committer | Alex Stapleton <alexs@prol.etari.at> | 2014-07-09 19:13:52 +0100 |
| commit | e08548d1c3f2ab03c0859af315bb8048191b79b8 (patch) | |
| tree | 4d795af767f27949ef071dc1c9a032c4bc65801a /cryptography | |
| parent | 728b7e4c77c5075a36308781355adc0bc68bde94 (diff) | |
| parent | 3a333048451b99d71dcba92d024a4a3841e68acc (diff) | |
| download | cryptography-e08548d1c3f2ab03c0859af315bb8048191b79b8.tar.gz cryptography-e08548d1c3f2ab03c0859af315bb8048191b79b8.tar.bz2 cryptography-e08548d1c3f2ab03c0859af315bb8048191b79b8.zip | |
Merge pull request #1236 from reaperhulk/fix-1234
add TraditionalOpenSSLSerializationBackend to MultiBackend
Diffstat (limited to 'cryptography')
| -rw-r--r-- | cryptography/hazmat/backends/multibackend.py | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/cryptography/hazmat/backends/multibackend.py b/cryptography/hazmat/backends/multibackend.py index 6741f045..35e2a093 100644 --- a/cryptography/hazmat/backends/multibackend.py +++ b/cryptography/hazmat/backends/multibackend.py @@ -17,7 +17,8 @@ from cryptography import utils from cryptography.exceptions import UnsupportedAlgorithm, _Reasons from cryptography.hazmat.backends.interfaces import ( CMACBackend, CipherBackend, DSABackend, EllipticCurveBackend, HMACBackend, - HashBackend, PBKDF2HMACBackend, PKCS8SerializationBackend, RSABackend + HashBackend, PBKDF2HMACBackend, PKCS8SerializationBackend, + RSABackend, TraditionalOpenSSLSerializationBackend ) @@ -28,6 +29,7 @@ from cryptography.hazmat.backends.interfaces import ( @utils.register_interface(PBKDF2HMACBackend) @utils.register_interface(PKCS8SerializationBackend) @utils.register_interface(RSABackend) +@utils.register_interface(TraditionalOpenSSLSerializationBackend) @utils.register_interface(DSABackend) @utils.register_interface(EllipticCurveBackend) class MultiBackend(object): @@ -312,3 +314,14 @@ class MultiBackend(object): "This backend does not support this key serialization.", _Reasons.UNSUPPORTED_SERIALIZATION ) + + def load_traditional_openssl_pem_private_key(self, data, password): + for b in self._filtered_backends( + TraditionalOpenSSLSerializationBackend + ): + return b.load_traditional_openssl_pem_private_key(data, password) + + raise UnsupportedAlgorithm( + "This backend does not support this key serialization.", + _Reasons.UNSUPPORTED_SERIALIZATION + ) |
