commit b372fcbbb276d112aa74534d97273b4061429f39
parent 21d3f9bd7f234838b8c284a1400d572688f61b18
Author: Sheng <webmaster0115@gmail.com>
Date: Wed, 12 Sep 2018 13:07:05 +0800
Pass None for empty password
Diffstat:
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/tests/test_handler.py b/tests/test_handler.py
@@ -83,3 +83,5 @@ class TestIndexHandler(unittest.TestCase):
with self.assertRaises(InvalidValueError) as exc:
pkey = IndexHandler.get_pkey_obj('x'+key, password, fname)
self.assertIn('Invalid private key', str(exc))
+ with self.assertRaises(paramiko.PasswordRequiredException):
+ pkey = IndexHandler.get_pkey_obj(key, '', fname)
diff --git a/webssh/handler.py b/webssh/handler.py
@@ -118,7 +118,7 @@ class IndexHandler(MixinHandler, tornado.web.RequestHandler):
@classmethod
def get_pkey_obj(cls, privatekey, password, filename):
- bpass = to_bytes(password)
+ bpass = to_bytes(password) if password else None
pkey = cls.get_specific_pkey(paramiko.RSAKey, privatekey, bpass)\
or cls.get_specific_pkey(paramiko.DSSKey, privatekey, bpass)\