diff options
-rw-r--r-- | paramiko/ed25519key.py | 3 | ||||
-rw-r--r-- | sites/www/changelog.rst | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/paramiko/ed25519key.py b/paramiko/ed25519key.py index a50d68bc..1557c5b2 100644 --- a/paramiko/ed25519key.py +++ b/paramiko/ed25519key.py @@ -25,6 +25,7 @@ import six from paramiko.message import Message from paramiko.pkey import PKey +from paramiko.py3compat import b from paramiko.ssh_exception import SSHException, PasswordRequiredException @@ -113,7 +114,7 @@ class Ed25519Key(PKey): else: cipher = Transport._cipher_info[ciphername] key = bcrypt.kdf( - password=password, + password=b(password), salt=bcrypt_salt, desired_key_bytes=cipher["key-size"] + cipher["block-size"], rounds=bcrypt_rounds, diff --git a/sites/www/changelog.rst b/sites/www/changelog.rst index cf77a812..be13bfeb 100644 --- a/sites/www/changelog.rst +++ b/sites/www/changelog.rst @@ -2,6 +2,9 @@ Changelog ========= +* :bug:`1039` Ed25519 auth key decryption raised an unexpected exception when + given a unicode password string (typical in python 3). Report by Theodor van + Nahl and fix by Pierce Lopez. * :bug:`1108 (1.17+)` Rename a private method keyword argument (which was named ``async``) so that we're compatible with the upcoming Python 3.7 release (where ``async`` is a new keyword.) Thanks to ``@vEpiphyte`` for the report. |