summaryrefslogtreecommitdiff
path: root/hgsshsign/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'hgsshsign/__init__.py')
-rw-r--r--hgsshsign/__init__.py8
1 files changed, 3 insertions, 5 deletions
diff --git a/hgsshsign/__init__.py b/hgsshsign/__init__.py
index eff63bc..bd612df 100644
--- a/hgsshsign/__init__.py
+++ b/hgsshsign/__init__.py
@@ -46,7 +46,7 @@ class SSHAuthority(object):
46 private_key = ui.config("sshsign", "private_key", None) 46 private_key = ui.config("sshsign", "private_key", None)
47 agent_socket = os.environ.get(SSHAgent.AGENT_SOCK_NAME) 47 agent_socket = os.environ.get(SSHAgent.AGENT_SOCK_NAME)
48 if private_key: 48 if private_key:
49 private_key = keys.load_private_key(absolute_path(private_key)) 49 private_key = keys.PrivateKey.from_file(absolute_path(private_key))
50 elif agent_socket: 50 elif agent_socket:
51 private_key = SSHAgent(agent_socket, key=public_key.blob) 51 private_key = SSHAgent(agent_socket, key=public_key.blob)
52 else: 52 else:
@@ -61,16 +61,14 @@ class SSHAuthority(object):
61 61
62 def verify(self, data, signature, whom): 62 def verify(self, data, signature, whom):
63 try: 63 try:
64 key = self.key_manifest[whom] # XXX: More elegant error handling. 64 key = self.key_manifest[whom]
65 except KeyError: 65 except KeyError:
66 raise util.Abort(_("No key found for %s" % whom)) 66 raise util.Abort(_("No key found for %s" % whom))
67 67
68 return key.verify(data, signature) 68 return key.verify(data, signature)
69 69
70 def sign(self, data): 70 def sign(self, data):
71 import hgsshsign.keys as keys 71 return self.private_key.sign(data)
72
73 return keys.sign_like_agent(data, self.private_key)
74 72
75 73
76def node2txt(repo, node, ver): 74def node2txt(repo, node, ver):