Ошибки смарт-карт

у меня есть CAC смарт-карты, и SCM Microsystems SCR3310 USB card Reader. Я запускаю Windows 7 Ultimate с пакетом обновления 1.

Эта настройка работала нормально. Когда я вставлял свой CAC, мои сертификаты немедленно распространялись бы к хранилищу сертификатов (как засвидетельствовано управлением сертификатами, certmgr.msc), и я мог бы войти на веб-сайты, которые требовали CAC для доступа.

недавно я перестал иметь доступ к веб-сайтам. Выглядящий в Диспетчере сертификатов, я вижу, что только один, или иногда два моих сертификатов. Если я удалю их и снова вставлю свою карту, может появиться другой сертификат.

Я только что вернулся и заменил считыватель той же моделью, так что я знаю, что это не виновник.

я, наконец, подумал, чтобы посмотреть на системный журнал, и заметил следующие ошибки при вставке смарт-карты:

enter image description here


ошибки, в хронологический порядок:

Smart Card Service    Event ID: 610
   Smart Card Reader 'SCM Microsystems SCR33xx v2.0 USB SC Reader 0' rejected
   IOCTL TRANSMIT: Incorrect function.  If this error persists, your smart card
   or reader may not be functioning correctly.

   Command Header: 00 c0 00 00

WudfUsbccidDrv        Event ID: 11
   A Request has returned failure.
   MsgType: 0x80
   ICCStatus: 0x0
   CmdStatus: 0x1
   Error: 0xf6               // ICC_PROTOCOL_NOT_SUPPORTED
   SW1: 0x0
   SW2: 0x0

WudfUsbccidDrv        Event ID: 11
   An operation has failed (0x0, 0x0, 0x0, 0x0).
   ScT0Transmit: Failed to send request at TPDU level.
   HResult: The specified request is not a valid operation for the target device.
   // Note: this one comes from WUDFUsbccidDriver.dll CMyDevice::UsbScT0Transmit+7D0h

WudfUsbccidDrv        Event ID: 10
   Request[0](CLS=0x0,INS=0xc0,P1=0x0,P2=0x0,Lc=0,Le=256,.NETServiceMethod=0x0)

кажется, что аппаратный сбой во время IOCTL TRANSMIT, который просачивался через фреймворк драйвера пользовательского режима.

изменить: консультируясь со спецификацией CCID, кажется, что карта отвечает назад с
bmCommandStatus = 1 - Failed (error code provided by the error register). И Error = ICC_PROTOCOL_NOT_SUPPORTED -10 (F6h). Я предполагаю, что драйвер преобразует эту ошибку в " HResult: указанный запрос не является допустимой операцией для целевого устройства." сообщение.

кроме того, отправляемая команда была INS=0xC0, то есть ПОЛУЧИТЬ ОТВЕТ.

как сказать, что протокол не поддерживается? Что водитель делает иначе, чем когда он работал? Обратите внимание, что я также только что попробовал это с новым CAC, и я вижу подобное поведение. Проблема с кард-ридером или драйвером?


учитывая, что я просто заменил считыватель (и переустановил драйверы, перезагрузился и т. д.) что-то не так с моей смарт-карты? Я предполагаю, что нет, потому что это тут работа с другим устройством чтения в другой системе. Я не пробовал другой читатель на той же системе.

в самом деле тот же reader подключен к виртуальной машине Windows 7 на той же физической машине работает просто отлично! Что-то явно сломано, и это сводит меня с ума, пытаясь понять, что.

так в чем проблема?

21
задан Jonathon Reinhart
28.01.2023 3:32 Количество просмотров материала 2898
Распечатать страницу

1 ответ

на всякий случай, если кто-то застрял с этой проблемой-я пытался исправить это, как целый день.

вот решение:

  1. для 64-разрядной Windows-перейти к разделу реестра в

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Cryptography\Calais\Readers
    

уже должно быть несколько читателей. А если нет, так что это причина, почему вы можете иметь все драйвера установлены, но не функционируют вообще.

  1. на Device Manager найти читатель в вопросе, то обратите внимание на эту строку в деталях вкладке:Bus reported device description.

  2. создайте подраздел для ключа выше. Название должно быть точно таким же, что Bus reported device description. Затем добавьте счетчик в конце. Таким образом, ключ должен быть таким:

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Cryptography\Calais\Readers\O2Micro CCID SC Reader 0
    
  3. Теперь создайте пару строковых значений: первое с именем устройства и второй групп. Вот мой пример:

    Device = O2Micro CCID SC Reader 0
    
    Groups = SCard$DefaultReaders
    

вот и все. Чтобы заставить его работать, отключите читатель и соединяет его назад. В случае внутренних устройств может потребоваться перезагрузка компьютера. И вот .reg пример файла (измените имя и номер устройства на свои собственные значения):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Cryptography\Calais\Readers\O2Micro CCID SC Reader 0]
"Device"="O2Micro CCID SC Reader 0"
"Groups"=hex(7):53,00,43,00,61,00,72,00,64,00,24,00,44,00,65,00,66,00,61,00,75,\
00,6c,00,74,00,52,00,65,00,61,00,64,00,65,00,72,00,73,00,00,00,00,00
1
отвечен Vladimir Molodnyakov 2023-01-29 11:20

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх