Как проверить считыватель смарт карт
Считыватель для смарт-карт Рутокен SCR 3001 является устройством для чтения и записи смарт-карт.
Считыватель совместим с операционными системами: Windows, macOS и Linux.
Внешний вид считывателя представлен на иллюстрации:

Подключение считывателя к компьютеру
Подключите считыватель к USB-порту компьютера.
Подключение смарт-карты к считывателю
Вставьте смарт-карту в считыватель. Корректный способ представлен на иллюстрации:
Обратите внимание на положение чипа смарт-карты.

Значения индикаторов считывателя
Индикаторы работы считывателя и смарт-карты расположены на передней части корпуса считывателя:

Левый индикатор показывает текущее состояние считывателя, правый — смарт-карты.
Состояния индикаторов и их значения представлены в таблице:
- не горит (считыватель не подключен к компьютеру)
- мигает (проблема со считывателем)
- горит (считыватель подключен к компьютеру)
- не горит (смарт-карта не подключена к компьютеру)
- мигает (происходит обмен данными со смарт-картой)
- мигает с длинными интервалами (проблема со смарт-картой)
- горит (смарт-карта подключена к компьютеру)
Работа со считывателем в ОС Windows
Проверка работы считывателя
Чтобы проверить работу считывателя:
- Откройте Диспетчер устройств.
- Рядом с пунктом Устройства чтения смарт-карт щелкните по галочке. Откроется список подключенных устройств.

- Два раза щелкните по верхней строке Устройство чтения смарт-карт Microsoft Usbccid (WUDF). Откроется окно со свойствами считывателя.

- Перейдите на вкладку Сведения.
- В раскрывающемся списке Свойства выберите пункт ИД оборудования.

В поле Значение отобразится строка » USB\VID_0A89&PID_0069&REV_0511″.
Определение версии прошивки считывателя
Чтобы определить текущую версию прошивки считывателя:

- Откройте Диспетчер устройств.
- Рядом с пунктом Устройства чтения смарт-карт щелкните по галочке. Откроется список подключенных устройств.
- Два раза щелкните по верхней строке Устройство чтения смарт-карт Microsoft Usbccid (WUDF). Откроется окно со свойствами считывателя.
- Перейдите на вкладку Сведения.
- В раскрывающемся списке Свойство выберите пункт ИД оборудования.
В поле Значение указана версия прошивки считывателя (на иллюстрации версия прошивки 5.11).
Работа со считывателем в ОС Linux
Проверка работы считывателя
Чтобы проверить работу считывателя, подключите его к компьютеру и введите команду:
pcsc_scan
Если в результате выполнения команды отобразится название модели считывателя Aktiv Rutoken SCR 3001 Reader, то значит он работает корректно.

Если в результате выполнения команды отобразились строки «Scanning present readers. Waiting for the first reader. «, то необходимо внести в конфигурационный файл info.plist запись о считывателе.
Для изменения файла info.plist необходимы права администратора.
Чтобы внести изменение в конфигурационный файл info.plist:

- Найдите этот файл на компьютере. Путь до файла:
/usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents - Откройте файл info.plist в любом текстовом редакторе.
- Найдите массив
ifdVendorID и добавьте в него строку0x0A89 . - Найдите массив
ifdProductID и добавьте в него строку0x0069 . - Найдите массив
ifdFriendlyName и добавьте в него строкуAktiv Rutoken SCR 3001 Reader . - Сохраните изменения в файле info.plist.
- Отключите считыватель от компьютера.
- Перезагрузите систему.
- Подключите считыватель к компьютеру и снова проверьте работу считывателя.
Определение версии прошивки считывателя
Чтобы определить версию прошивки считывателя, подключите его к компьютеру и введите команду:
lsusb -v
В результате в строке bcdDevice отобразится версия прошивки считывателя (на иллюстрации версия прошивки 5.11).

Работа со считывателем в macOS
Проверка работы считывателя
Чтобы проверить работу считывателя:
- Подключите считыватель для смарт-карт к компьютеру.
- Откройте программу Launchpad.

- В строке поиска введите слово «информация» («information»).

- Откройте программу Информация о системе (System Information).
- На боковой панели окна программы выберите пункт USB.
- Для считывателя в окне программы отобразится название модели считывателя и информация о нем.
Это означает, что считыватель для смарт-карт подключен и работает корректно.
- Если название модели считывателя не отобразилось, то необходимо загрузить и установить библиотеку PKCS#11.
Для того чтобы загрузить библиотеку PKCS#11 перейдите по указанной ссылке и выберите необходимую версию:

Для установки библиотеки PKCS#11 запустите программу установки библиотеки и следуйте инструкциям, отображающимся на экране. В дополнительных параметрах установщика выберите Установить считыватель.
Определение версии прошивки считывателя
Чтобы определить версию прошивки считывателя:

- Подключите считыватель для смарт-карт к компьютеру.
- Откройте программу Launchpad.
- В строке поиска введите слово «информация» («information»).
- Откройте программу Информация о системе (System Information).
- На боковой панели окна программы выберите пункт USB.
- Для считывателя в окне программы отобразится название модели считывателя и информация о нем.
В поле Версия указана версия прошивки считывателя (на иллюстрации версия прошивки 5.11).
Не совпадают коды карт, определяемые считывателем на контроллере и на настольном считывателе
В панели «Администрирование» во вкладке «Оборудование» в устройстве «Настольный считыватель» в настройках стоит флажок Wiegand 26. Необходимо убрать флажок.
Программа ParsecNET 2.5
Зайдите в Настройка», далее вкладка «Оборудование» внизу окна флажок Wiegand 26. Необходимо снять флажок.
Вариант 2
Если код карты на настенном считывателе, например, $53822014, а на настольном считывателе, соответственно, код $82201417, тогда прошивка настольного считывателя не соответствует версии ПО.
Для решения Вам необходимо запустить утилиту UsbUpdate.exe (которой ранее прошили считыватель под PR-H08). В инструкции на эту утилиту есть информация по соответствии PID устройств версиям ПО.
Как проверить соответствие сертификата в считывателе смарт-карт?
Скажем, я выбрал сертификат из хранилища ключей Windows, и во время подписания мне нужно убедиться, что смарт-карта, вставленная в считыватель, является правильной или нет. Вот пример кода:
// finding the certificate X509Store store = new X509Store("MY", StoreLocation.CurrentUser); store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly); X509Certificate2Collection certs = store.Certificates.Find(X509FindType.FindByTimeValid, DateTime.Now, true); // by thumbprint, there is only one certs = certs.Find(X509FindType.FindByThumbprint, "123456BLAHBLAHAE3C", true); X509Certificate2 cert = certs[0]; RSACryptoServiceProvider key; if (cert.HasPrivateKey) < // software cert key = cert.PrivateKey as RSACryptoServiceProvider; >else < // certificate from smartcard CspParameters csp = new CspParameters(1, "Microsoft Base Smart Card Crypto Provider"); csp.Flags = CspProviderFlags.UseDefaultKeyContainer; key = new RSACryptoServiceProvider(csp); >
Теперь, когда я хочу подписать данные, как я могу узнать, действительно ли смарт-карта, которая вставлена в данный момент, является той, которую я ищу (соответствует той, что находится в хранилище ключей Windows)? Я задаю этот вопрос, потому что прямо сейчас, когда я подписываю данные, я получаю подсказки для ввода PIN-кода для смарт-карты, но карта, которую я вставил, даже не для учетных данных, которые я выбрал. И она только что подписала данные в любом случае.
person codenamezero schedule 23.10.2017 source источник
Ответы (2)

После целого дня устранения неполадок и копания в Интернете. Оказывается, мне не нужно этого делать вообще. На самом деле, это была моя ошибка. Когда вы выбираете сертификат из Магазина, объект X509Certificate , который вы получаете, фактически содержит все необходимое, например HasPrivateKey и PrivateKey (объект RSACryptoServiceProvider, не фактический PrivateKey), и Windows знает, где взять PrivateKey с помощью этой информации. включая проверку того, является ли смарт-карта в вашем считывателе правильной смарт-картой или нет. Моя проблема заключалась в том, что в какой-то момент я использовал cert.GetRawCertData() для захвата необработанных байтов для выполнения собственной проверки сертификата, и в итоге я воссоздал объект X509Certificate из необработанных байтов. Я думал, что это вернет мне исходный объект X509Certificate , но я был так не прав. И HasPrivateKey , и PrivateKey исчезли. Теперь я не уверен, что это новое в Windows 10. Но, как вы можете видеть ниже, мне вообще не нужно проверять, что находится в кард-ридере. Чтобы закрыть эту проблему, мое первоначальное намерение дважды проверить смарт-карту в считывателе состояло в том, чтобы убедиться, что операция подписи действительно была выполнена с правильной смарт-картой (у меня была проблема с Java, когда вы можете вставить другую карту и ввести PIN-код для неправильная карта, и она все равно подпишет ее для вас). Однако на самом деле лучше использовать PublicKey и вместо этого проверять данные.
// so after you finished signing the data. // make a new RSACryptoServiceProvider and verify it like this: RSACryptoServiceProvider rsa = cert.PublicKey.Key as RSACryptoServiceProvider; Debug.WriteLine(" Verify data >> " + (rsa.VerifyData(data, alg, signature) ? "OK" : "FAILED")); Debug.WriteLine("Verify signature >> " + (rsa.VerifyHash(hash, alg, signature) ? "OK" : "FAILED"));
Примечание. Не используйте using для проверки на RSACryptoServiceProvider , если вы это сделаете, вы закроете статический дескриптор на PublicKey.Key , а если вы попытаетесь проверить еще раз (по какой-либо причине), вы получите исключение Safe Handle has been closed .
Как проверить работоспособность считывателя?
Подайте на считыватель только питание (+ и -), остальные провода не подключайте.
В этом состоянии поднесите карту к считывателю.
Если реакция есть (сформируются кратковременный звуковой и зеленый световой сигналы), то подключайте остальные провода в соответствие с инструкцией на считыватель.
2 октября 2023
Установка ПО ParsecNET через CMD со сбором логов
Запуск установки программы с логированием: Запустите командную строку CMD от имени администр.
2 октября 2023
Процедура настройки контроллера NC-60K при подключении считывателей
Процедура подключения считывателей к контроллеру NC-60K, NC-60K.M выглядит следующим образом ( �.
13 июля 2023
Количественные ограничения контроллеров NC-60K.М при последовательном Ethernet-подключении
При последовательном Ethernet-подключении количество контроллеров NC-60K.M на одной линии или в кольце (при �.