Fix config.py tool according to the new API of fido2 python package (#284)
* Fix fido2 API update. Since fido2 0.8.1 the device descriptor moved to NamedTuple, breaking our configuration tool. Code is now updated accordingly and the setup script ensure we're using the correct version for fido2 package. * Make Yapf happy * Fix missing update for fido2 0.9.1 Also split the comment into 2 lines so that the touch is not hidden at the end of the screen.
This commit is contained in:
committed by
GitHub
parent
a17ee39bb6
commit
958d7a29dc
2
setup.sh
2
setup.sh
@@ -46,4 +46,4 @@ mkdir -p elf2tab
|
|||||||
cargo install elf2tab --version 0.6.0 --root elf2tab/
|
cargo install elf2tab --version 0.6.0 --root elf2tab/
|
||||||
|
|
||||||
# Install python dependencies to factory configure OpenSK (crypto, JTAG lockdown)
|
# Install python dependencies to factory configure OpenSK (crypto, JTAG lockdown)
|
||||||
pip3 install --user --upgrade colorama tqdm cryptography fido2
|
pip3 install --user --upgrade colorama tqdm cryptography "fido2>=0.9.1"
|
||||||
|
|||||||
@@ -64,8 +64,7 @@ def info(msg):
|
|||||||
def get_opensk_devices(batch_mode):
|
def get_opensk_devices(batch_mode):
|
||||||
devices = []
|
devices = []
|
||||||
for dev in hid.CtapHidDevice.list_devices():
|
for dev in hid.CtapHidDevice.list_devices():
|
||||||
if (dev.descriptor["vendor_id"],
|
if (dev.descriptor.vid, dev.descriptor.pid) == OPENSK_VID_PID:
|
||||||
dev.descriptor["product_id"]) == OPENSK_VID_PID:
|
|
||||||
if dev.capabilities & hid.CAPABILITY.CBOR:
|
if dev.capabilities & hid.CAPABILITY.CBOR:
|
||||||
if batch_mode:
|
if batch_mode:
|
||||||
devices.append(ctap2.CTAP2(dev))
|
devices.append(ctap2.CTAP2(dev))
|
||||||
@@ -138,10 +137,9 @@ def main(args):
|
|||||||
if authenticator.device.capabilities & hid.CAPABILITY.WINK:
|
if authenticator.device.capabilities & hid.CAPABILITY.WINK:
|
||||||
authenticator.device.wink()
|
authenticator.device.wink()
|
||||||
aaguid = uuid.UUID(bytes=authenticator.get_info().aaguid)
|
aaguid = uuid.UUID(bytes=authenticator.get_info().aaguid)
|
||||||
info(("Programming device {} AAGUID {} ({}). "
|
info("Programming OpenSK device AAGUID {} ({}).".format(
|
||||||
"Please touch the device to confirm...").format(
|
|
||||||
authenticator.device.descriptor.get("product_string", "Unknown"),
|
|
||||||
aaguid, authenticator.device))
|
aaguid, authenticator.device))
|
||||||
|
info("Please touch the device to confirm...")
|
||||||
try:
|
try:
|
||||||
result = authenticator.send_cbor(
|
result = authenticator.send_cbor(
|
||||||
OPENSK_VENDOR_CONFIGURE,
|
OPENSK_VENDOR_CONFIGURE,
|
||||||
|
|||||||
Reference in New Issue
Block a user