嗨,我正在编写我自己的FIDO2身份验证器实现。固件运行在一台SAM E51好奇Nano上。我使用tinyusb与客户端(原始usb)通信,可以成功地创建新的凭据,并使用libfido2套件获取/验证断言。
当我尝试用一个WebAuthn测试网站(WebAuthn . net)测试我的身份验证器时。io, webauthn。使用Firefox时,浏览器似乎忽略了设备/不识别它。
我是否需要以某种方式将设备列入白名单,或者是否需要特定的usb配置?
我真不知道该找什么。
dmesg命令输出的
new full-speed USB device number 29 using xhci_hcd
[15568.051250] usb 1-1: New USB device found, idVendor=cafe, idProduct=4004, bcdDevice= 1.00
[15568.051265] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[15568.051272] usb 1-1: Product: CandyStick FIDO
[15568.051278] usb 1-1: Manufacturer: SugarYourCoffee
[15568.051282] usb 1-1: SerialNumber: cafebabe
[15568.054804] hid-generic 0003:CAFE:4004.0027: hiddev1,hidraw3: USB HID v1.11 Device [SugarYourCoffee CandyStick FIDO] on usb-0000:00:14.0-1/input0
YubiKey
new full-speed USB device number 30 using xhci_hcd
[16832.270596] usb 1-1: New USB device found, idVendor=1050, idProduct=0407, bcdDevice= 5.12
[16832.270611] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[16832.270618] usb 1-1: Product: YubiKey OTP+FIDO+CCID
[16832.270624] usb 1-1: Manufacturer: Yubico
[16832.275477] input: Yubico YubiKey OTP+FIDO+CCID as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:1050:0407.0028/input/input38
[16832.333245] hid-generic 0003:1050:0407.0028: input,hidraw3: USB HID v1.10 Keyboard [Yubico YubiKey OTP+FIDO+CCID] on usb-0000:00:14.0-1/input0
[16832.334542] hid-generic 0003:1050:0407.0029: hiddev1,hidraw4: USB HID v1.10 Device [Yubico YubiKey OTP+FIDO+CCID] on usb-0000:00:14.0-1/input1
我认为唯一的区别是YubiKey还可以作为输入设备。
我在网上找不到任何与我的问题相关的东西。
GITHUB
更新06.12.2022
就像我在下面的评论中提到的那样,系统通过F1D0
使用页面检测可能的HID身份验证器。
一个有趣的事情是,我能够为web认证创建新的凭据。IO和web认证。我可以用Chrome浏览器,但火狐浏览器不行。断言不能在两个浏览器中工作(但这似乎是一个不同的问题)。
cor错误,比如错误的密钥顺序,似乎会在使用Chrome时触发警告(如:旧的或不支持的身份验证器)。
我真的很好奇为什么Chrome能够检测到我的身份验证器,而Firefox不能。不幸的是,没有关于这两种浏览器如何枚举身份验证器的明确文档。我已经开始阅读Firefox源代码的一个分支,但是无法精确地找到检查F1D0
或类似内容的代码。
我不确定Firefox在非windows平台上是否支持CTAP2身份验证器。为了支持Firefox,您可能需要实现U2F(即CTAP1)。
现在试试,在Linux上使用Firefox 110 -它看起来像CTAP2刚刚合并:https://bugzilla.mozilla.org/show_bug.cgi?id=1530373