summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--paramiko/ed25519key.py3
-rw-r--r--sites/www/changelog.rst3
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.