summaryrefslogtreecommitdiff
path: root/paramiko/ed25519key.py
diff options
context:
space:
mode:
Diffstat (limited to 'paramiko/ed25519key.py')
-rw-r--r--paramiko/ed25519key.py9
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")