diff options
Diffstat (limited to 'paramiko/ed25519key.py')
-rw-r--r-- | paramiko/ed25519key.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/paramiko/ed25519key.py b/paramiko/ed25519key.py index 2e1eb18a..aa5e885d 100644 --- a/paramiko/ed25519key.py +++ b/paramiko/ed25519key.py @@ -45,7 +45,8 @@ def unpad(data): class Ed25519Key(PKey): - def __init__(self, msg=None, data=None, filename=None, password=None): + def __init__(self, msg=None, data=None, filename=None, password=None, + file_obj=None): verifying_key = signing_key = None if msg is None and data is not None: msg = Message(data) @@ -59,7 +60,11 @@ class Ed25519Key(PKey): elif filename is not None: with open(filename, "r") as f: data = self._read_private_key("OPENSSH", f) - signing_key = self._parse_signing_key_data(data, password) + elif file_obj is not None: + data = self._read_private_key("OPENSSH", file_obj) + + if filename or file_obj: + signing_key = self._parse_signing_key_data(data, password) if signing_key is None and verifying_key is None: raise ValueError("need a key") |