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 a6991db..b52dcc3 100644
--- a/hgsshsign/__init__.py
+++ b/hgsshsign/__init__.py
@@ -40,7 +40,7 @@ class SSHAuthority(object):
40 private_key = ui.config("sshsign", "private_key", None) 40 private_key = ui.config("sshsign", "private_key", None)
41 agent_socket = os.environ.get(SSHAgent.AGENT_SOCK_NAME) 41 agent_socket = os.environ.get(SSHAgent.AGENT_SOCK_NAME)
42 if private_key: 42 if private_key:
43 private_key = keys.load_private_key(absolute_path(private_key)) 43 private_key = keys.PrivateKey.from_file(absolute_path(private_key))
44 elif agent_socket: 44 elif agent_socket:
45 private_key = SSHAgent(agent_socket, key=public_key.blob) 45 private_key = SSHAgent(agent_socket, key=public_key.blob)
46 else: 46 else:
@@ -55,16 +55,14 @@ class SSHAuthority(object):
55 55
56 def verify(self, data, signature, whom): 56 def verify(self, data, signature, whom):
57 try: 57 try:
58 key = self.key_manifest[whom] # XXX: More elegant error handling. 58 key = self.key_manifest[whom]
59 except KeyError: 59 except KeyError:
60 raise util.Abort(_("No key found for %s" % whom)) 60 raise util.Abort(_("No key found for %s" % whom))
61 61
62 return key.verify(data, signature) 62 return key.verify(data, signature)
63 63
64 def sign(self, data): 64 def sign(self, data):
65 import hgsshsign.keys as keys 65 return self.private_key.sign(data)
66
67 return keys.sign_like_agent(data, self.private_key)
68 66
69 67
70def node2txt(repo, node, ver): 68def node2txt(repo, node, ver):