Skip to content

Commit 748b7e7

Browse files
jmichelpgeoflisuperskybirdkaczmarczyck
authored
Bugfix (#304)
* Add Feitian OpenSK USB Dongle (#257) Co-authored-by: superskybird <skybird.le@gmail.com> * 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. * adds README changes, logo and certificate (#285) Co-authored-by: Geoffrey <geoffrey@ftsafe.com> Co-authored-by: superskybird <skybird.le@gmail.com> Co-authored-by: kaczmarczyck <43844792+kaczmarczyck@users.noreply.github.com>
1 parent b0c1b73 commit 748b7e7

5 files changed

Lines changed: 15 additions & 16 deletions

File tree

README.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,16 @@ few limitations:
2424

2525
### FIDO2
2626

27-
Although we tested and implemented our firmware based on the published
28-
[CTAP2.0 specifications](https://fidoalliance.org/specs/fido-v2.0-ps-20190130/fido-client-to-authenticator-protocol-v2.0-ps-20190130.html),
29-
our implementation was not reviewed nor officially tested and doesn't claim to
30-
be FIDO Certified.
31-
We started adding features of the upcoming next version of the
32-
[CTAP2.1 specifications](https://fidoalliance.org/specs/fido2/fido-client-to-authenticator-protocol-v2.1-rd-20191217.html).
33-
The development is currently between 2.0 and 2.1, with updates hidden behind
34-
a feature flag.
35-
Please add the flag `--ctap2.1` to the deploy command to include them.
27+
The stable branch implements the published
28+
[CTAP2.0 specifications](https://fidoalliance.org/specs/fido-v2.0-ps-20190130/fido-client-to-authenticator-protocol-v2.0-ps-20190130.html)
29+
and is FIDO certified.
30+
31+
<img alt="FIDO2 certified L1" src="docs/img/FIDO2_Certified_L1.png" width="200px">
32+
33+
It already contains some preview features of 2.1, that you can try by adding the
34+
flag `--ctap2.1` to the deploy command. The full
35+
[CTAP2.1 specification](https://fidoalliance.org/specs/fido-v2.1-rd-20201208/fido-client-to-authenticator-protocol-v2.1-rd-20201208.html)
36+
is work in progress in the develop branch and is tested less thoroughly.
3637

3738
### Cryptography
3839

598 KB
Binary file not shown.

docs/img/FIDO2_Certified_L1.png

29.8 KB
Loading

setup.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,4 @@ mkdir -p elf2tab
4646
cargo install elf2tab --version 0.6.0 --root elf2tab/
4747

4848
# Install python dependencies to factory configure OpenSK (crypto, JTAG lockdown)
49-
pip3 install --user --upgrade colorama tqdm cryptography fido2
49+
pip3 install --user --upgrade colorama tqdm cryptography "fido2>=0.9.1"

tools/configure.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,7 @@ def info(msg):
6464
def get_opensk_devices(batch_mode):
6565
devices = []
6666
for dev in hid.CtapHidDevice.list_devices():
67-
if (dev.descriptor["vendor_id"],
68-
dev.descriptor["product_id"]) == OPENSK_VID_PID:
67+
if (dev.descriptor.vid, dev.descriptor.pid) == OPENSK_VID_PID:
6968
if dev.capabilities & hid.CAPABILITY.CBOR:
7069
if batch_mode:
7170
devices.append(ctap2.CTAP2(dev))
@@ -138,10 +137,9 @@ def main(args):
138137
if authenticator.device.capabilities & hid.CAPABILITY.WINK:
139138
authenticator.device.wink()
140139
aaguid = uuid.UUID(bytes=authenticator.get_info().aaguid)
141-
info(("Programming device {} AAGUID {} ({}). "
142-
"Please touch the device to confirm...").format(
143-
authenticator.device.descriptor.get("product_string", "Unknown"),
144-
aaguid, authenticator.device))
140+
info("Programming OpenSK device AAGUID {} ({}).".format(
141+
aaguid, authenticator.device))
142+
info("Please touch the device to confirm...")
145143
try:
146144
result = authenticator.send_cbor(
147145
OPENSK_VENDOR_CONFIGURE,

0 commit comments

Comments
 (0)