Yubico / yubioath-flutter

Yubico Authenticator for Desktop (Windows, macOS and Linux) and Android
https://developers.yubico.com/yubioath-flutter/
Apache License 2.0
988 stars 135 forks source link

Only legacy mode works on YK 4 #61

Closed sairon closed 8 years ago

sairon commented 8 years ago

Authenticator offers only legacy mode (adding OTPs to two slots) when YK 4 is used in mode 86 (OTP+U2F+CCID). It seems it is not able to detect CCID functionality of the new key.

ChrisHalos commented 8 years ago

If you're trying to add credentials to a YK4 in mode 86, go to File > Settings in Yubico Authenticator and make sure "read from slot 1" and "read from slot 2" are not selected. If you have these selected, you will only be able to add credentials to the configuration slots. If you already have credentials added, you should be able to view them regardless of the settings, as long as CCID is enabled.

sairon commented 8 years ago

Those two options are not selected and I still get only the "legacy" dialog. Old YK NEO works fine.

The device has CCID enabled - output of dmesg:

[214845.066579] input: Yubico Yubikey 4 OTP+U2F+CCID as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.0/input/input1091
[214845.066794] hid-generic 0003:1050:0407.042F: input,hidraw4: USB HID v1.10 Keyboard [Yubico Yubikey 4 OTP+U2F+CCID] on usb-0000:00:1a.0-1.4/input0
[214845.067815] hid-generic 0003:1050:0407.0430: hiddev0,hidraw5: USB HID v1.10 Device [Yubico Yubikey 4 OTP+U2F+CCID] on usb-0000:00:1a.0-1.4/input1
sairon commented 8 years ago

It looks like the problem is in the underlying pyscard or deeper - it does not recognize the SC reader at all:

>>> from smartcard.System import readers
>>> readers()
[]

But with NEO, I get:

>>> readers()
['Yubico Yubikey NEO OTP+CCID 00 00']
ChrisHalos commented 8 years ago

OS version? Are libccid and udev rules up-to-date?

sairon commented 8 years ago

Ah, mea culpa, it quickly pointed me to the solution - libccid product IDs were missing. Thanks!