Как проверить считыватель смарт карт
Перейти к содержимому

Как проверить считыватель смарт карт

  • автор:

Как проверить считыватель смарт карт

Считыватель для смарт-карт Рутокен SCR 3001 является устройством для чтения и записи смарт-карт.

Считыватель совместим с операционными системами: Windows, macOS и Linux.

Внешний вид считывателя представлен на иллюстрации:

Подключение считывателя к компьютеру

Подключите считыватель к USB-порту компьютера.

Подключение смарт-карты к считывателю

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

Обратите внимание на положение чипа смарт-карты.

Значения индикаторов считывателя

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

Левый индикатор показывает текущее состояние считывателя, правый — смарт-карты.

Состояния индикаторов и их значения представлены в таблице:

  • не горит (считыватель не подключен к компьютеру)
  • мигает (проблема со считывателем)
  • горит (считыватель подключен к компьютеру)
  • не горит (смарт-карта не подключена к компьютеру)
  • мигает (происходит обмен данными со смарт-картой)
  • мигает с длинными интервалами (проблема со смарт-картой)
  • горит (смарт-карта подключена к компьютеру)

Работа со считывателем в ОС Windows

Проверка работы считывателя

Чтобы проверить работу считывателя:

  1. Откройте Диспетчер устройств.
  2. Рядом с пунктом Устройства чтения смарт-карт щелкните по галочке. Откроется список подключенных устройств.
  3. Два раза щелкните по верхней строке Устройство чтения смарт-карт Microsoft Usbccid (WUDF). Откроется окно со свойствами считывателя.
  4. Перейдите на вкладку Сведения.
  5. В раскрывающемся списке Свойства выберите пункт ИД оборудования.

    В поле Значение отобразится строка » USB\VID_0A89&PID_0069&REV_0511″.

Определение версии прошивки считывателя

Чтобы определить текущую версию прошивки считывателя:

  1. Откройте Диспетчер устройств.
  2. Рядом с пунктом Устройства чтения смарт-карт щелкните по галочке. Откроется список подключенных устройств.
  3. Два раза щелкните по верхней строке Устройство чтения смарт-карт Microsoft Usbccid (WUDF). Откроется окно со свойствами считывателя.
  4. Перейдите на вкладку Сведения.
  5. В раскрывающемся списке Свойство выберите пункт ИД оборудования.
    В поле Значение указана версия прошивки считывателя (на иллюстрации версия прошивки 5.11).

Работа со считывателем в ОС Linux

Проверка работы считывателя

Чтобы проверить работу считывателя, подключите его к компьютеру и введите команду:

pcsc_scan

Если в результате выполнения команды отобразится название модели считывателя Aktiv Rutoken SCR 3001 Reader, то значит он работает корректно.


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

Для изменения файла info.plist необходимы права администратора.

Чтобы внести изменение в конфигурационный файл info.plist:

  1. Найдите этот файл на компьютере. Путь до файла:
    /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents
  2. Откройте файл info.plist в любом текстовом редакторе.
  3. Найдите массив ifdVendorID и добавьте в него строку 0x0A89.
  4. Найдите массив ifdProductID и добавьте в него строку 0x0069.
  5. Найдите массив ifdFriendlyName и добавьте в него строку Aktiv Rutoken SCR 3001 Reader.
  6. Сохраните изменения в файле info.plist.
  7. Отключите считыватель от компьютера.
  8. Перезагрузите систему.
  9. Подключите считыватель к компьютеру и снова проверьте работу считывателя.

Определение версии прошивки считывателя

Чтобы определить версию прошивки считывателя, подключите его к компьютеру и введите команду:

lsusb -v

В результате в строке bcdDevice отобразится версия прошивки считывателя (на иллюстрации версия прошивки 5.11).

Работа со считывателем в macOS

Проверка работы считывателя

Чтобы проверить работу считывателя:

  1. Подключите считыватель для смарт-карт к компьютеру.
  2. Откройте программу Launchpad.
  3. В строке поиска введите слово «информация» («information»).
  4. Откройте программу Информация о системе (System Information).
  5. На боковой панели окна программы выберите пункт USB.
  6. Для считывателя в окне программы отобразится название модели считывателя и информация о нем.
    Это означает, что считыватель для смарт-карт подключен и работает корректно.
  7. Если название модели считывателя не отобразилось, то необходимо загрузить и установить библиотеку PKCS#11.

Для того чтобы загрузить библиотеку PKCS#11 перейдите по указанной ссылке и выберите необходимую версию:

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

Определение версии прошивки считывателя

Чтобы определить версию прошивки считывателя:

  1. Подключите считыватель для смарт-карт к компьютеру.
  2. Откройте программу Launchpad.
  3. В строке поиска введите слово «информация» («information»).
  4. Откройте программу Информация о системе (System Information).
  5. На боковой панели окна программы выберите пункт USB.
  6. Для считывателя в окне программы отобразится название модели считывателя и информация о нем.
    В поле Версия указана версия прошивки считывателя (на иллюстрации версия прошивки 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 на одной линии или в кольце (при �.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *