From ef56779461d29a1e08aac2ecd1c047b36e433fc2 Mon Sep 17 00:00:00 2001 From: Roman Zeyde Date: Tue, 23 Jun 2015 17:53:59 +0300 Subject: [PATCH] trezor: explicitly specify SSH curve --- sshagent/trezor.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sshagent/trezor.py b/sshagent/trezor.py index a2ed9eb..a731772 100644 --- a/sshagent/trezor.py +++ b/sshagent/trezor.py @@ -29,6 +29,8 @@ class TrezorLibrary(object): class Client(object): + curve_name = 'nist256p1' + def __init__(self, factory=TrezorLibrary): self.factory = factory self.client = self.factory.client() @@ -51,7 +53,7 @@ class Client(object): def get_public_key(self, label): addr = _get_address(self.factory.identity(label)) log.info('getting %r SSH public key from Trezor...', label) - node = self.client.get_public_node(addr) + node = self.client.get_public_node(addr, self.curve_name) return node.node.public_key def sign_ssh_challenge(self, label, blob): @@ -63,7 +65,8 @@ class Client(object): request, label) s = self.client.sign_identity(identity=ident, challenge_hidden=blob, - challenge_visual=request) + challenge_visual=request, + ecdsa_curve_name=self.curve_name) assert len(s.signature) == 65 assert s.signature[0] == b'\x00'