Patch-Source: https://github.com/solokeys/solo1-cli/pull/152 From 02bb791f3c32c8f93a3f5bc4d256a5a6c77d7528 Mon Sep 17 00:00:00 2001 From: Kendrick Shaw Date: Thu, 9 Jun 2022 23:16:43 +0000 Subject: [PATCH] Update to fido2 library 1.0 API The fido2 library has changed the names of the CTAP1 class to Ctap1 and the CTAP2 class to Ctap2; this commit updates the solo1-cli code to use the new names. --- solo/devices/base.py | 10 +++++----- solo/devices/solo_v1.py | 8 ++++---- solo/solotool.py | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/solo/devices/base.py b/solo/devices/base.py index 2e030f4..6afe01a 100644 --- a/solo/devices/base.py +++ b/solo/devices/base.py @@ -3,7 +3,7 @@ from cryptography import x509 from cryptography.hazmat.backends import default_backend from fido2.attestation import Attestation -from fido2.ctap2 import CTAP2, CredentialManagement +from fido2.ctap2 import Ctap2, CredentialManagement from fido2.hid import CTAPHID from fido2.utils import hmac_sha256 from fido2.webauthn import PublicKeyCredentialCreationOptions @@ -76,7 +76,7 @@ def ping(self, data="pong"): def reset( self, ): - CTAP2(self.get_current_hid_device()).reset() + Ctap2(self.get_current_hid_device()).reset() def change_pin(self, old_pin, new_pin): client = self.get_current_fido_client() @@ -114,7 +114,7 @@ def make_credential(self, pin=None): def cred_mgmt(self, pin): client = self.get_current_fido_client() token = client.client_pin.get_pin_token(pin) - ctap2 = CTAP2(self.get_current_hid_device()) + ctap2 = Ctap2(self.get_current_hid_device()) return CredentialManagement(ctap2, client.client_pin.protocol, token) def enter_solo_bootloader( @@ -137,11 +137,11 @@ def is_solo_bootloader( pass def program_kbd(self, cmd): - ctap2 = CTAP2(self.get_current_hid_device()) + ctap2 = Ctap2(self.get_current_hid_device()) return ctap2.send_cbor(0x51, cmd) def sign_hash(self, credential_id, dgst, pin): - ctap2 = CTAP2(self.get_current_hid_device()) + ctap2 = Ctap2(self.get_current_hid_device()) client = self.get_current_fido_client() if pin: pin_token = client.client_pin.get_pin_token(pin) diff --git a/solo/devices/solo_v1.py b/solo/devices/solo_v1.py index 0c4328f..fd64c22 100644 --- a/solo/devices/solo_v1.py +++ b/solo/devices/solo_v1.py @@ -8,8 +8,8 @@ from fido2.client import Fido2Client from fido2.ctap import CtapError -from fido2.ctap1 import CTAP1 -from fido2.ctap2 import CTAP2 +from fido2.ctap1 import Ctap1 +from fido2.ctap2 import Ctap2 from fido2.hid import CTAPHID, CtapHidDevice from intelhex import IntelHex @@ -64,9 +64,9 @@ def find_device(self, dev=None, solo_serial=None): dev = devices[0] self.dev = dev - self.ctap1 = CTAP1(dev) + self.ctap1 = Ctap1(dev) try: - self.ctap2 = CTAP2(dev) + self.ctap2 = Ctap2(dev) except CtapError: self.ctap2 = None diff --git a/solo/solotool.py b/solo/solotool.py index ca01454..9c4cddb 100644 --- a/solo/solotool.py +++ b/solo/solotool.py @@ -32,8 +32,8 @@ from fido2.attestation import Attestation from fido2.client import ClientError, Fido2Client from fido2.ctap import CtapError -from fido2.ctap1 import CTAP1, ApduError -from fido2.ctap2 import CTAP2 +from fido2.ctap1 import Ctap1, ApduError +from fido2.ctap2 import Ctap2 from fido2.hid import CTAPHID, CtapHidDevice from intelhex import IntelHex