Scdaemon не обнаружит Yubikey в Windows 10

913
vagaerg

Это недавно началось после того, как я обновился до Windows 10 1803 (x64). Я обновил Gpg4Win до последней версии (3.1.2), но это ничего не исправило.

Я пробовал следующее:

  • Удалите мини-драйвер ( https://forum.yubico.com/viewtopicbe08.html?f=35&t=2756 ).
  • Изменить chuid ( https://forum.yubico.com/viewtopicb199.html?f=35&t=2757 )
  • Удалите все драйверы, связанные с Yubikey, чтобы они переустанавливались с помощью Usbdeview от Nirsoft
  • Удалить записи для Yubikey из HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Calais\SmartCards
  • Отключите и снова включите интерфейс CCID с помощью инструментов Yubico.
  • Перезапустите сервис Smartcard
  • Убить и перезапустить scdaemon и gpg-connect-agent
  • (очевидно) перезагрузка

Ничто из этого не исправило, и у меня в данный момент почти нет идей. Это единственный считыватель смарт-карт на моей машине (кроме TPM), и Yubikey был протестирован на работу с gpg в Linux.

Юбики показывает как Identity Device (NIST SP 800-73 [PIV])

Некоторые журналы:

Gpg возвращает:

$ gpg --card-status gpg: selecting openpgp failed: No such device gpg: OpenPGP card not available: No such device 

Certutil возвращает:

$ certutil -scinfo   ======================================================= Analyzing card in reader: Yubico Yubikey 4 OTP+U2F+CCID 0  --------------===========================-------------- ================ Certificate 0 ================ --- Reader: Yubico Yubikey 4 OTP+U2F+CCID 0 --- Card: Identity Device (NIST SP 800-73 [PIV]) Provider = Microsoft Base Smart Card Crypto Provider Key Container = (null) [Default Container]  Cannot open the AT_SIGNATURE key for reader: Yubico Yubikey 4 OTP+U2F+CCID 0 Cannot open the AT_KEYEXCHANGE key for reader: Yubico Yubikey 4 OTP+U2F+CCID 0  --------------===========================-------------- ================ Certificate 0 ================ --- Reader: Yubico Yubikey 4 OTP+U2F+CCID 0 --- Card: Identity Device (NIST SP 800-73 [PIV]) Provider = Microsoft Smart Card Key Storage Provider Key Container = (null) [Default Container]  Cannot open the key for reader: Yubico Yubikey 4 OTP+U2F+CCID 0  --------------===========================--------------  Done. CertUtil: -SCInfo command completed successfully. 

Журнал Scdaemon показывает, что кое-что (я думаю) может быть интересным, поскольку это, кажется, обнаруживает читателя:

2018-07-26 18:13:36 scdaemon[13612] detected reader 'Windows Hello for Business 9' 2018-07-26 18:13:36 scdaemon[13612] detected reader 'Yubico Yubikey 4 OTP+U2F+CCID 0' 2018-07-26 18:13:36 scdaemon[13612] reader slot 0: not connected 2018-07-26 18:13:36 scdaemon[13612] DBG: leave: apdu_open_reader => slot=0 [pc/sc] 2018-07-26 18:13:36 scdaemon[13612] DBG: enter: apdu_connect: slot=0 2018-07-26 18:13:36 scdaemon[13612] pcsc_control failed: insufficient buffer (0x80100008) 2018-07-26 18:13:36 scdaemon[13612] pcsc_vendor_specific_init: GET_FEATURE_REQUEST failed: 65538 2018-07-26 18:13:36 scdaemon[13612] reader slot 0: active protocol: T1 2018-07-26 18:13:36 scdaemon[13612] slot 0: ATR=3B 8D 01 80 FB A0 00 00 03 97 42 54 46 59 04 01 CF 2018-07-26 18:13:36 scdaemon[13612] DBG: pcsc_get_status_change: changed present excl inuse 2018-07-26 18:13:36 scdaemon[13612] DBG: leave: apdu_connect => sw=0x0 2018-07-26 18:13:36 scdaemon[13612] DBG: send apdu: c=00 i=A4 p1=00 p2=0C lc=2 le=-1 em=0 2018-07-26 18:13:36 scdaemon[13612] DBG: PCSC_data: 00 A4 00 0C 02 3F 00 2018-07-26 18:13:36 scdaemon[13612] DBG: response: sw=6A82 datalen=0 2018-07-26 18:13:36 scdaemon[13612] DBG: send apdu: c=00 i=A4 p1=04 p2=00 lc=6 le=-1 em=0 2018-07-26 18:13:36 scdaemon[13612] DBG: PCSC_data: 00 A4 04 00 06 D2 76 00 01 24 01 2018-07-26 18:13:36 scdaemon[13612] DBG: response: sw=6A82 datalen=0 2018-07-26 18:13:36 scdaemon[13612] can't select application 'openpgp': Not supported 2018-07-26 18:13:36 scdaemon[13612] DBG: enter: apdu_close_reader: slot=0 2018-07-26 18:13:36 scdaemon[13612] DBG: enter: apdu_disconnect: slot=0 2018-07-26 18:13:36 scdaemon[13612] DBG: leave: apdu_disconnect => sw=0x0 2018-07-26 18:13:36 scdaemon[13612] DBG: leave: apdu_close_reader => 0x0 (close_reader) 2018-07-26 18:13:36 scdaemon[13612] DBG: chan_0x00000188 -> ERR 100696144 No such device <SCD> 
2

1 ответ на вопрос

2
vagaerg

Кажется, проблема заключается в том, что при установке Office365 добавлен виртуальный считыватель смарт-карт Windows Hello for Business, механизм аутентификации на основе Microsoft Passport.

Я думаю (на основе журналов) это приводит scdaemonк сбою, поскольку он может найти двух читателей: этот и Yubikey; но он не может попытаться инициализировать последний, терпящий неудачу сразу после попытки Windows Hello for Businessвиртуального считывателя. Журналы для certutil также показывают, что сертификаты не могут быть получены для виртуального считывателя Windows Hello на моем компьютере, поэтому это может быть причиной scdaemonсбоя.

Проблема была решена настройкой Yubico Yubikey 4 OTP+U2F+CCID 0(имя, которое я получил из журналов) в настройках Kleopatra, на вкладке Smartcard.

YMMV, но я бы порекомендовал следующее:

  • Установите уровень отладки 4 и укажите путь к лог-файлу на smartcardsвкладке в Kleopatra.
  • Ищите имя вашей смарт-карты Yubikey в лог-файле: detected readerв моем случае должна быть строка, начинающаяся сdetected reader 'Yubico Yubikey 4 OTP+U2F+CCID 0'
  • Скопируйте это имя в Connect to reader at port Nполе на Клеопатре
  • Теперь вы можете снова отключить ведение журнала, чтобы уменьшить количество создаваемого мусора.

Пожалуйста, смотрите изображение для справки:

Screenshot