diff options
author | Alex Gaynor <alex.gaynor@gmail.com> | 2018-12-18 02:03:19 -0500 |
---|---|---|
committer | Paul Kehrer <paul.l.kehrer@gmail.com> | 2018-12-18 15:03:19 +0800 |
commit | 815301ab4f7b794c091a8435741d7f57436f87d9 (patch) | |
tree | b3d60712507169f863edd03ee95ce03ab258be45 /src | |
parent | d13fd93ddde42c806929f334ae03c02b954aa64a (diff) | |
download | cryptography-815301ab4f7b794c091a8435741d7f57436f87d9.tar.gz cryptography-815301ab4f7b794c091a8435741d7f57436f87d9.tar.bz2 cryptography-815301ab4f7b794c091a8435741d7f57436f87d9.zip |
Improve error message for unsupported ciphers (#4650)
* Improve error message for unsupported ciphers
* fix spacing
* include the openssl version number in the message
* backwards
* pep8
Diffstat (limited to 'src')
-rw-r--r-- | src/cryptography/hazmat/backends/openssl/ciphers.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/ciphers.py b/src/cryptography/hazmat/backends/openssl/ciphers.py index fe5715b2..66ac5fd6 100644 --- a/src/cryptography/hazmat/backends/openssl/ciphers.py +++ b/src/cryptography/hazmat/backends/openssl/ciphers.py @@ -48,12 +48,14 @@ class _CipherContext(object): evp_cipher = adapter(self._backend, cipher, mode) if evp_cipher == self._backend._ffi.NULL: - raise UnsupportedAlgorithm( - "cipher {0} in {1} mode is not supported " - "by this backend.".format( - cipher.name, mode.name if mode else mode), - _Reasons.UNSUPPORTED_CIPHER - ) + msg = "cipher {0.name} ".format(cipher) + if mode is not None: + msg += "in {0.name} mode ".format(mode) + msg += ( + "is not supported by this backend (Your version of OpenSSL " + "may be too old. Current version: {0}.)" + ).format(self._backend.openssl_version_text()) + raise UnsupportedAlgorithm(msg, _Reasons.UNSUPPORTED_CIPHER) if isinstance(mode, modes.ModeWithInitializationVector): iv_nonce = self._backend._ffi.from_buffer( |