Как прочитать смарт карту в windows

Обновлено: 06.07.2024

Иногда при добавлении смарт-карты может появиться ошибка. Эта ошибка связана с определением устройств на компьютере и установкой для него драйвера. Самостоятельно компьютер не сможет найти подходящий драйвер так как почти все смарт карты снабжаются специальным программным обеспечением куда входит и драйвер для них.

Диспетчер ресурсов смарт-карт не выполняется

Решение 1:
Убедитесь в том, что на рабочей станции, к которой подключена добавляемая смарт-карта, запущена и работает служба Смарт-карта. Для управления работой служб необходимо обладать правами Локального администратора.

Решение 2:
Убедитесь в том, что адрес сервера Indeed CM добавлен в зону Местная интрасеть (Local Intranet) браузера рабочей станции, к которой подключена смарт-карта.

Криптопро не видит ключ JaCarta, решаем за минуту

Описание окружения

Есть виртуальная машина на Vmware ESXi 6.5, в качестве операционной системы установлена Windows Server 2012 R2. На сервере стоит КриптоПРО 4.0.9944, последней версии на текущий момент. С сетевого USB хаба, по технологии USB over ip, подключен ключ JaCarta. Ключ в системе видится, а вот в КриптоПРО нет.

Алгоритм решения проблем с JaCarta

КриптоПРО очень часто вызывает различные ошибки в Windows, простой пример (Windows installer service could not be accessed). Вот так вот выглядит ситуация, когда утилита КриптоПРО не видит сертификат в контейнере.


Как видно в утилите UTN Manager ключ подключен, он видится в системе в смарт картах в виде Microsoft Usbccid (WUDF) устройства, но вот CryptoPRO, этот контейнер не определяет и у вас нет возможности установить сертификат. Локально токен подключали, все было то же самое. Стали думать что сделать.

Возможные причины с определением контейнера

  1. Во первых, это проблема с драйверами, например, в Windows Server 2012 R2, JaCarta в идеале должна определяться в списке смарт карт как JaCarta Usbccid Smartcard, а не Microsoft Usbccid (WUDF)
  2. Во вторых если устройство видится как Microsoft Usbccid (WUDF), то версия драйверов может быть устаревшей, и из-за чего ваши утилиты будут не определять защищенный USB носитель.
  3. Устарелая версия CryptoPRO

Как решить проблему, что криптопро не видит USB ключ?

Создали новую виртуальную машину и стали ставить софт все последовательно.

  • Первым делом обновляем вашу операционную систему, всеми доступными обновлениями, так как Microsoft исправляет много ошибок и багов, в том числе и драйверами.
  • Вторым пунктом является, в случае с физическим сервером, установить все свежие драйвера на материнскую плату и все периферийное оборудование.
  • Далее устанавливаете Единый Клиент JaCarta.
  • Устанавливаете свежую версию КриптоПРО

Установка единого клиента JaCarta PKI


Далее полученный архив вы распаковываете и запускаете установочный файл, под свою архитектуру Windows, у меня это 64-х битная. Приступаем к установке Jacarta драйвера. Единый клиент Jacarta, ставится очень просто (НАПОМИНАЮ ваш токен в момент инсталляции, должен быть отключен). На первом окне мастера установки, просто нажимаем далее.


Принимаем лицензионное соглашение и нажимаем "Далее"


Чтобы драйвера токенов JaCarta у вас работали корректно, достаточно выполнить стандартную установку.


Если выберете "Выборочную установку", то обязательно установите галки:

  • Драйверы JaCarta
  • Модули поддержки
  • Модуль поддержки для КриптоПРО


Далее нажимаем "Установить".


Через пару секунд, Единый клиент Jacarta, успешно установлен.


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


Установка КриптоПРО

После установки JaCarta PKI, нужно установить КриптоПРО, для этого заходите на официальный сайт.


На текущий момент самая последняя версия КриптоПро CSP 4.0.9944. Запускаем установщик, оставляем галку "Установить корневые сертификаты" и нажимаем "Установить (Рекомендуется)"


Инсталляция КриптоПРО будет выполнена в фоновом режиме, после которой вы увидите предложение, о перезагрузке браузера, но я вам советую полностью перезагрузиться.


После перезагрузки подключайте ваш USB токен JaCarta. У меня подключение идет по сети, с устройства DIGI, через клиента Anywhere View. В клиенте Anywhere View, мой USB носитель Jacarta, успешно определен, но как Microsoft Usbccid (WUDF), а в идеале должен определиться как JaCarta Usbccid Smartcard, но нужно в любом случае проверить, так как все может работать и так.


Открыв утилиту "Единый клиент Jacarta PKI", подключенного токена обнаружено не было, значит, что-то с драйверами.


Откройте диспетчер устройств Windows, найдите пункт "Считыватели устройств смарт-карт (Smart card readers)" щелкните по Microsoft Usbccid (WUDF) и выберите пункт "Свойства". Перейдите на вкладку "Драйвера" и нажмите удалить (Uninstall)


Согласитесь с удалением драйвера Microsoft Usbccid (WUDF).


Вас уведомят, что для вступления изменений в силу, необходима перезагрузка системы, обязательно соглашаемся.


После перезагрузки системы, вы можете увидеть установку устройства и драйверов ARDS Jacarta.


Откройте диспетчер устройств, вы должны увидеть, что теперь ваше устройство определено, как JaCarta Usbccid Smartcar и если зайти в его свойства, то вы увидите, что смарт карта jacarta, теперь использует драйвер версии 6.1.7601 от ALADDIN R.D.ZAO, так и должно быть.


Если открыть единый клиент Jacarta, то вы увидите свою электронную подпись, это означает, что смарт карта нормально определилась.


Открываем CryptoPRO, и видим, что криптопро не видит сертификат в контейнере, хотя все драйвера определились как нужно. Есть еще одна фишка.


ОБЯЗАТЕЛЬНО снимите галку "Не использовать устаревшие cipher suite-ы" и перезагрузитесь.


После этих манипуляций у меня КриптоПРО увидел сертификат и смарт карта jacarta стала рабочей, можно подписывать документы.


Еще можете в устройствах и принтерах, увидеть ваше устройство JaCarta,


Если у вас как и у меня, токен jacarta установлен в виртуальной машине, то вам придется устанавливать сертификат, через console виртуальной машины, и так же дать на нее права ответственному человеку. Если это физический сервер, то там придется давать права на порт управления, в котором так же есть виртуальная консоль.

Не возможно подключиться к службе управления смарт-картами


  1. Не запущена служба смарт-карт на локальной машине. Архитектурой RDP-сессии, разработанной Microsoft, не предусмотрено использование ключевых носителей, подключенных к удалённому компьютеру, поэтому в RDP-сессии удалённый компьютер использует службу смарт-карт локального компьютера. Из этого следует что, запуска службы смарт-карт внутри RDP-сессии недостаточно для нормальной работы.
  2. Служба управления смарт-картами на локальном компьютере запущена, но недоступна для программы внутри RDP-сессии из-за настроек Windows и/или RDP-клиента.
  • Запустите службу смарт-карт на локальной машине, с которой вы инициируете сеанс удалённого доступа. Настройте её автоматический запуск при старте компьютера.
  • Разрешите использование локальных устройств и ресурсов во время удалённого сеанса (в частности, смарт-карт). Для этого, в диалоге "Подключение к удалённому рабочему столу" в параметрах выберите вкладку "Локальные ресурсы", далее в группе "Локальные устройства и ресурсы" нажмите кнопку "Подробнее…", а в открывшемся диалоге выберите пункт "Смарт-карты" и нажмите "ОК", затем "Подключить".


Вот такой вот был траблшутинг по настройке токена Jacarta, КриптоПРО на терминальном сервере, для подписи документов в ВТБ24 ДБО. Если есть замечания или поправки, то пишите их в комментариях.

В этом разделе для ИТ-специалистов описано, как настроить базовую тестовую среду для использования виртуальных смарт-карт TPM.

Виртуальные смарт-карты — это технология корпорации Майкрософт, которая предлагает сопоставимые преимущества в области безопасности в двух-факторной проверке подлинности с физическими смарт-картами. Кроме того, они обеспечивают большее удобство для пользователей и более низкую стоимость развертывания для организаций. С помощью устройств Trusted Platform Module (TPM), которые предоставляют те же криптографические возможности, что и физические смарт-карты, виртуальные смарт-карты выполняют три ключевых свойства, которые нужны смарт-картам: неэкспортивность, изолированная криптография и антикорминг.

В этом пошаговом октайе показано, как настроить базовую тестовую среду для использования виртуальных смарт-карт TPM. После завершения этого погона на компьютере будет установлена функциональная виртуальная смарт-карта Windows.

Требования к времени

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

Действия по погонам

**** Важно Эта базовая конфигурация предназначена только для тестовых целей. Он не предназначен для использования в производственной среде.

Предварительные условия

Компьютер с Windows 10 с установленным и полностью функциональным TPM (версия 1.2 или версия 2.0).

Тестовый домен, к которому можно присоединить указанный выше компьютер.

Доступ к серверу в этом домене с полностью установленным и работающим органом сертификации (CA).

Шаг 1. Создание шаблона сертификата

На сервере домена необходимо создать шаблон сертификата, который будет запрашивать виртуальная смарт-карта.

Создание шаблона сертификата

На сервере откройте консоль управления Майкрософт (MMC). Один из способов сделать **** это — **** ввестиmmc.exeв меню Пуск, щелкнуть правой кнопкой мыши mmc.exeи нажмите кнопку Выполнить в качестве администратора.

Щелкните Файл, а затем щелкните Добавить или удалить оснастку.

Добавление или удаление оснастки.

В доступном списке оснастки щелкните шаблонысертификатов и нажмите кнопку Добавить.

Добавление шаблонов сертификатов.

Шаблоны сертификатов теперь находятся в консоли Root в MMC. Дважды щелкните его, чтобы просмотреть все доступные шаблоны сертификата.

Щелкните правой кнопкой мыши шаблон Логотип Smartcard и щелкните Дубликат шаблона.

На вкладке "Совместимость" в органе сертификациипросмотрите выбор и измените его при необходимости.

Вкладка совместимости, параметр сертификации.

На вкладке General:

Укажите имя, например логотип виртуальной смарт-карты TPM.

Установите период действия до нужного значения.

На вкладке Обработка запросов:

Установите логотип Purpose to Signature и smartcard.

Щелкните Подсказка пользователя во время регистрации.

На вкладке Криптография:

Установите минимальный размер ключа до 2048.

На вкладке Безопасность добавьте группу безопасности, к которую необходимо предоставить доступ для регистрации. Например, если вы хотите предоставить доступ всем **** пользователям, выберите группу **** пользователей с проверкой подлинности и выберите для них разрешения на регистрацию.

Выберите файл, а затем нажмите кнопку Добавить или Удалить snap-in, чтобы добавить оснастку сертификационного органа на консоль MMC. На вопрос, какой компьютер вы хотите управлять, выберите компьютер, на котором расположен ЦС, вероятно, локальный компьютер.

Добавление привязки к органу сертификации.

В левой области MMC расширите управление сертификацией (Local), а затем расширите свой ЦС в списке сертификационного органа.

Щелкните правой кнопкой мыши шаблоны сертификатов, нажмите кнопку Newи нажмите кнопку Шаблон сертификата для выпуска.

Щелкните правой кнопкой мыши меню шаблонов сертификатов.

В списке выберите только что созданный шаблон (TPM Virtual Smart Card Logon), а затем нажмите кнопку ОК.

**** Примечание Может занять некоторое время, чтобы ваш шаблон реплицируется на все серверы и становится доступным в этом списке.

После репликации шаблона в MMC щелкните правой кнопкой мыши в списке Сертификация, щелкните Все задачи инажмите кнопку Стоп-служба. Затем щелкните правой кнопкой мыши имя ЦС еще раз, нажмите кнопку Все задачи, а затем нажмите кнопку Начните службу.

Остановка и запуск службы.

Шаг 2. Создание виртуальной смарт-карты TPM

На этом шаге вы создадим виртуальную смарт-карту на клиентский компьютер с помощью средства командной строки Tpmvscmgr.exe.

Создание виртуальной смарт-карты TPM

На компьютере, подключимом к домену, откройте окно Командная подсказка с административными учетными данными.

Cmd prompt, Run as administrator.

В командной подсказке введите следующее, а затем нажмите кнопку ENTER:

tpmvscmgr.exe create /name TestVSC /pin default /adminkey random /generate

Это позволит создать виртуальную смарт-карту с именем TestVSC, опустить ключ разблокировки и создать файловую систему на карте. ПИН-код будет установлен по умолчанию, 12345678. Чтобы получить запрос на ПИН-код, вместо /pin-кода по умолчанию можно ввести /pin-код.

Дополнительные сведения о средстве командной строки Tpmvscmgr см. в дополнительных сведениях Об использовании виртуальных смарт-карт и Tpmvscmgr.

Подождите несколько секунд, пока процесс завершится. По завершении Tpmvscmgr.exe предоставит вам ID экземпляра устройства для виртуальной смарт-карты TPM. Храните этот ID для более поздней ссылки, так как он потребуется для управления или удаления виртуальной смарт-карты.

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

Откройте консоль Сертификаты, введя certmgr.msc в меню Пуск.

Щелкните правой кнопкой мыши Личный, щелкните все задачи, а затем нажмите кнопку Запрос нового сертификата.

Запрос нового сертификата.

Следуйте подсказкам и при выборе списка шаблонов выберите поле TPM Virtual Smart Card Logon (или все, что вы назвали шаблоном в шаге 1).

Если вам будет предложено устройство, выберите виртуальную смарт-карту Майкрософт, соответствующую созданной в предыдущем разделе. Он отображает в качестве устройства удостоверения (Microsoft Profile).

Введите ПИН-код, созданный при создания виртуальной смарт-карты TPM, а затем нажмите кнопку ОК.

Подождите, пока регистрация завершится, а затем нажмите кнопку Готово.

Виртуальная смарт-карта теперь может использоваться в качестве альтернативной учетной данных для входа в домен. Чтобы убедиться, что конфигурация виртуальных смарт-карт и регистрация сертификатов были успешными, выпишитесь из текущего сеанса и впишитесь. При входе вы увидите значок для новой виртуальной смарт-карты TPM на экране Secure Desktop (вход), или вы будете автоматически направлены в диалоговое окно для входной карточки смарт-карты TPM. Щелкните значок, введите ПИН-код (при необходимости), а затем нажмите кнопку ОК. Вы должны быть подписаны на свою учетную запись домена.

Смарт-карта Рутокен ЭЦП 3.0 NFC — это устройство, для формирования и безопасного хранения электронной подписи, а также двухфакторной аутентификации .

Она выглядит следующим образом:


Со смарт-картой можно работать, как на компьютере, так и на мобильном устройстве.

Для работы со смарт-картой:

  • на компьютере. Необходим контактный или бесконтактный считыватель для смарт-карт;
  • на мобильном устройстве. Необходимо, чтобы мобильное устройство было оборудовано специальным NFC-модулем (это можно проверить в описании его параметров).

Для смарт-карты заданы два PIN-кода: PIN-код Пользователя и PIN-код Администратора.

По умолчанию значение PIN-кода Пользователя — 12345678, а PIN-кода Администратора — 87654321.

При первом использовании смарт-карты PIN-коды необходимо изменить.

В инструкции описаны процедуры работы со смарт-картой Рутокен ЭЦП 3.0 NFC в различных мобильных и настольных ОС, а именно:

Работа со смарт-картой на компьютере

Для подключения смарт-карты к компьютеру:

  1. Если считыватель контактный, то вставьте в него смарт-карту.
  2. Если считыватель бесконтактный, то приложите к нему смарт-карту.
  3. Подключите считыватель к USB-порту компьютера. Если смарт-карта подключена корректно, то на считывателе начнет светиться индикатор. Если смарт-карта подключена некорректно, то индикатор на считывателе может мигать или не светиться (зависит от модели считывателя).

В ОС Windows

Изменение PIN-кода

Перед началом работы со смарт-картой необходимо изменить ее PIN-коды. Чтобы их изменить, загрузите и установите Комплект драйверов Рутокен.

После установки комплекта драйверов на компьютере появится специальная программа для обслуживания устройств Рутокен — Панель управления Рутокен.

Для того, чтобы изменить PIN-код Пользователя или Администратора:

Просмотр сведений об устройстве

В Панели управления Рутокен можно узнать следующую информацию об устройстве:

  • наименование модели;
  • уникальный цифровой идентификатор;
  • версию прошивки и флаги состояния;
  • общий объем памяти;
  • объем свободной памяти;
  • политику для смены PIN-кода Пользователя;
  • возможность использования UTF-8 в PIN-кодах;
  • возможность работы с КриптоПро Рутокен CSP по защищенному каналу ФКН;
  • подключено ли оно по RDP.

Для просмотра сведений об устройстве Рутокен:


  1. Откройте Панель управления Рутокен.
  2. В раскрывающемся списке Подключенные Рутокен выберите Рутокен ЭЦП 3.0 NFC Смарт-карта.
  3. В разделе Информация нажмите на одноименную кнопку. Откроется окно Информация о Рутокен, в этом окне указана вся необходимая информация об устройстве.

Просмотр версии установленного комплекта драйверов Рутокен

Для просмотра версии установленного комплекта драйверов:

Выбор криптопровайдера, используемого по умолчанию, для устройства Рутокен

Криптопровайдер — это динамически подключаемая библиотека, реализующая криптографические функций со стандартизованным интерфейсом.

У каждого криптопровайдера могут быть собственные наборы алгоритмов и собственные требования к формату ключей и сертификатов.

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

Выбор метода генерации ключевых пар RSA

Чтобы выбрать криптопровайдера для генерации ключевых пар RSA:

  1. Откройте Панель управления Рутокен.
  2. Перейдите на вкладку Настройки.
  3. В разделе Настройки криптопровайдера нажмите Настройка.
  4. В разделе Настройки криптопровайдера Aktive Co. Rutoken CSP v1.0 выберите способ генерации ключевых пар RSA 2048 бит для Рутокен ЭЦП, для этого установите переключатель в необходимое положение.
  5. Чтобы применить изменения и продолжить работу с настройками, нажмите Применить.
  6. Чтобы подтвердить выбор криптопровайдера, нажмите ОК.
  7. В окне с запросом на разрешение внесения изменений на компьютере нажмите Да.

Выбор настроек для PIN-кода

В Панели управления Рутокен можно задать настройки для PIN-кодов. Перечень настроек указан в таблице 1.

PIN-код Пользователя вводится один раз при первом использовании устройства Рутокен в приложении.

Эта настройка позволяет уменьшить количество вводов PIN-кода в прикладных приложениях за счет кратковременного хранения их криптопровайдером в зашифрованной памяти.

Не следует использовать данную настройку, если нет уверенности в безопасности компьютера.

PIN-код может состоять из кириллических символов.

Эта настройка позволяет безопасно использовать PIN-коды, содержащие кириллические символы.

Чтобы выбрать настройки для PIN-кода:

Указание имени устройства Рутокен

Для того чтобы различать устройства Рутокен между собой следует задать имя каждому устройству. Оно не всегда будет отображаться в сторонних приложениях.

Рекомендуется указать имя и фамилию владельца устройства или краткое наименование области применения устройства.

Для указания имени устройства Рутокен:

Разблокировка Администратором PIN-кода Пользователя

PIN-код Пользователя блокируется в том случае, если пользователь несколько раз подряд ввел его с ошибкой.

PIN-код Пользователя можно разблокировать только, если знаешь PIN-код Администратора.

После того как PIN-код Пользователя будет разблокирован, счетчик неудачных попыток аутентификации примет исходное значение.

После разблокировки PIN-код Пользователя не изменится.

Для того чтобы разблокировать PIN-код Пользователя:

Форматирование Рутокена

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

При форматировании устройства Рутокен все данные на нем, в том числе ключи и сертификаты, будут удалены безвозвратно.

В процессе форматирования не следует отключать устройство Рутокен от компьютера, так как это может привести к его поломке.

Для запуска процесса форматирования устройства Рутокен:


В окне с предупреждением об удалении всех данных на устройстве Рутокен нажмите ОК.

В ОС семейства GNU\Linux

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

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

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

В результате в окне Терминала отобразится название модели считывателя для смарт-карт:


Это означает, что считыватель для смарт-карт подключен корректно.

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

Установка дополнительного программного обеспечения

В deb-based и rpm-based системах используются разные команды. Список систем указан в таблице 1.

Таблица 1. Список операционных систем GNU/Linux

Debian, Ubuntu, Linux Mint,

RedHat, CentOS, Fedora, ALT Linux,

ROSA Linux, МСВС, ГосЛинукс, РЕД ОС

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

в deb-based системах это обычно:

  • библиотека libccid не ниже 1.4.2;
  • пакеты libpcsclite1 и pcscd;
  • pcsc-tools.

в rpm-based системах это обычно:

  • ccid не ниже 1.4.2;
  • pcsc-lite;
  • pcsc-tools.

в ALT Linux это обычно:

  • pcsc-lite-ccid;
  • libpcsclite;
  • pcsc-tools.

Также для всех типов операционных систем необходимо установить библиотеку OpenSC.

Перед установкой библиотек и пакетов проверьте их наличие в системе. Для этого введите команду:

В deb-based системах:

В разделе Version отобразится версия указанной библиотеки или пакета (версия библиотеки libccid должна быть выше чем 1.4.2).

В rpm-based системах:

Если библиотека или пакет уже установлены в системе, то на экране отобразятся их названия и номера версий (версия библиотеки ccid должна быть выше чем 1.4.2).

В ALT Linux:

Если у вас нет доступа к команде sudo, то используйте команду su.

Если библиотек и пакетов еще нет на компьютере, то необходимо их установить.

Для установки пакетов и библиотек:

В deb-based системах введите команду:

В rpm-based системах (кроме ALT Linux) введите команду:

В ALT Linux введите команду:

Если у вас нет доступа к команде sudo, то используйте команду su.

Проверка работы Рутокен ЭЦП 3.0 NFC в системе

Для проверки работы смарт-карты:

Изменение PIN-кода Пользователя

Определите разрядность используемой системы:

Если в результате выполнения команды отобразилась строка подобная "i686", то система является 32-разрядной.

Если в результате выполнения команды отобразилась строка подобная "x86_64", то система является 64-разрядной.

Для того чтобы определить путь до библиотеки librtpkcs11ecp.so введите команду:


Для изменения PIN-кода введите команду:

A — путь до библиотеки librtpkcs11ecp.so.

B — текущий PIN-код устройства.

C — новый PIN-код устройства.

В результате PIN-код устройства будет изменен.

В macOS

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

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

Для считывателя в окне программы отобразится название модели считывателя и информация о нем.


Это означает, что считыватель для смарт-карт подключен корректно.

Определение названия модели смарт-карты

Перед запуском процесса определения названия модели смарт-карты:

  • загрузите и установите пакет OpenSC;
  • загрузите и установите приложение Рутокен для macOS;
  • опр еделите путь до библиотеки librtpkcs11ecp.dylib.

Актуальная версия установочного пакета OpenSC доступна по ссылке:

Для установки пакета OpenSC:

  1. Запустите программу установки пакета OpenSC.
  2. В окне с уведомлением о том, что автор программы является неустановленным разработчиком нажмите Отменить.
  3. Выберите в меню Apple ( ) пункт Системные настройки (System Preferences).
  4. Выберите настройку Защита и безопасность (Security & Privacy).
  5. Нажмите Подтвердить вход.

  6. Чтобы подтвердить открытие установочного пакета OpenSC нажмите Открыть.
  7. Снова запустите программу установки пакета OpenSC и нажмите Продолжить.
  8. Чтобы начать процесс установки нажмите Установить.
  9. В окне для ввода учетных данных укажите пароль пользователя и нажмите Установить ПО.
  10. После завершения процесса установки нажмите Закрыть. В результате пакет OpenSC будет установлен.
  11. Если после установки пакета необходимо остановить установщик, то нажмите Остановить.


Для установки приложения Рутокен для macOS, в окне Рутокен для macOS перетащите значок Рутокен для macOS в папку Application.

Для того чтобы определить путь до библиотеки librtpkcs11ecp.dylib:


Нажмите Enter. В результате в окне Терминала отобразится путь до библиотеки librtpkcs11ecp.dylib.

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

A — путь до библиотеки librtpkcs11ecp.dylib.

В разделе token model отобразится название модели смарт-карты.


Проверка работы смарт-карты в системе

Для проверки работы Рутокен ЭЦП:


Откройте Терминал (Terminal).

Нажмите Enter и введите цифру "1".

Изменение PIN-кода смарт-карты

Для изменения PIN-кода введите команду:

A — путь до библиотеки librtpkcs11ecp.dylib.
B — текущий PIN-код устройства.
C — новый PIN-код устройства.


В результате PIN-код устройства будет изменен.

Работа со смарт-картой на мобильном устройстве

В ОС Android

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

  • у мобильного устройства есть NFC-модуль;
  • на мобильном устройстве включена функция NFC.

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


Установка приложения Панель управления Рутокен на Android

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

  • просматривать информацию о подключенных устройствах Рутокен;
  • изменять PIN-коды и метки устройств.

Для установки приложения Панель управления Рутокен:

Подключение Рутокена

Для подключения дуальной смарт-карты с поддержкой NFC необходимо мобильное устройство с NFC-модулем.

Для проверки отображения названия дуальной смарт-карты в приложении Панель управления Рутокен:

  1. Запустите приложение Панель управления Рутокен.
  2. Приложите Рутокен ЭЦП 3.0 NFC к мобильному устройству.
  3. В окне приложения, в карточке устройства нажмите на стрелочку. Откроется окно с основной информацией о смарт-карте.
    На иллюстрациях представлен пример корректного отображения названия смарт-карты и информации о ней.


Работа с приложением Панель управления Рутокен

Изменение PIN-кода

Для изменения PIN-кода Пользователя или Администратора в приложении Панель управления Рутокен:

Изменение метки устройства Рутокен

Для изменения метки устройства:

Выберите пункт меню Сменить метку токена. В приложении отобразится окно для ввода PIN-кода Пользователя и новой метки.

Разблокировка PIN-кода

Для разблокировки PIN-кода Пользователя:

В iOS

Работа со смарт-картой возможна если соблюдаются два условия:

  • версия iOS от 13 и выше;
  • у вас одна из следующих моделей iPhone: XR; XS; 11; 11 Pro; 11 Pro Max; 12; 12 mini; 12 Pro; 12 Pro Max.

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


Верхняя часть смартфона должна находиться в нескольких миллиметрах от смарт-карты.


Процесс подписания документа в приложении состоит из следующих шагов:

Технические характеристики смарт-карты Рутокен ЭЦП 3.0 NFC

Работа с системами контроля и управления доступом, поддерживающими протокол NFC

Все мы пользуемся разными видами смарт-карт в повседневной жизни. Наиболее яркими примерами смарт-карт являются: SIM-карты, кредитные карты, электронные документы и т.д.

По сути, смарт-карта — это оптимизированный для криптографии микроконтроллер с повышенным уровнем безопасности. Что это означает? В отличие от стандартного микроконтроллера доступ к памяти смарт-карты строго контролируется процессором. Таким образом, чтение данных с карты их написание на ней регулируются ПО самой карты. Более того, производители чипов предпринимают меры по предотвращению несанкционированного доступа (копирования всей памяти, перепрограммирования) к карте на электронном и физическом уровне.

Применение смарт-карты

Смарт-карта используется в тех случаях, когда необходимо удостоверить подлинность ее обладателя. Примером тому служит SIM-карта. Ее главной ролью является доказать оператору, что телефон, подключившийся к сети, принадлежит конкретному абоненту. После подобной проверки оператор сможет направлять коммуникацию с номера и на номер абонента именно тому телефону, а также регистрировать платежный баланс абонента.

  • Сохранение идентификационных данных обладателя карты (чаще всего ID-номера, а не контактные данные обладателя).
  • Сохранение и проверка PIN-кодов для осуществления двухфакторной аутентификации.
  • Генерация и сохранение криптографических ключей и сертификатов. Обычно данные ключи используются исключительно для исполнения других функции внутри карты и не подлежат чтению.
  • Генерация цифровой подписи.
  • Аутентификация по схеме «Вызов-ответ».
  • Иные специфические функции, присущие тому или иному виду карты.

Работа смарт-карты

Карты не работают автономно, а только в связке с так называемым терминалом (телефон, банкомат, иной проводной или беспроводной электронный читатель). Читатель обеспечивает карту электричеством и посылает команды. Карта никогда не инициирует коммуникацию, а всегда обязательно отвечает на любые посланные ей терминалом команды. В случае отсутствия ответа карта будет считаться «MUTED», т.е. не работающей. В подобной ситуации терминал либо никак не реагирует на ошибку, либо пытается восстановить общение с картой после осуществления RESET.

На логическом уровне коммуникация между терминалом и картой происходит в формате APDU, описанном стандартом ISO7816-4. Что касается физического уровня, то выше упомянутое общение регулируется не каким-то одним определенным стандартом, а их множеством. К примеру, существуют стандарты для контактного (ISO7816-3 T=0 и T=1, USB и т.д.) и бесконтактного (ISO14443, NFC/SWP) общения.

  1. Инициализация физического канала (Cold reset, ATR, и т.д.)
  2. Выбор с помощью команды SELECT желаемой программы. Данный шаг является опциональным. В случае если он не исполняется, то общение будет осуществляться с программой, выбранной по умолчанию при инициализации канала
  3. Дальнейшее общение для реализации конкретных задач

Карты Native и Javacard

Некоторые смарт-карты выходят в производство с уже заранее установленными на них и не подлежащими изменению, дополнению, либо удалению одной или более программами, предназначенными для исполнения конкретных функций (SIM и USIM, EMV и т.д.). Подобные карты, носящие название Native, являются привлекательными благодаря их низкой цене (при оптовых закупках) и относительной простоте используемого для их программирования кода, что уменьшает вероятность проблем с безопасностью карты. Однако наиболее интересными, на мой взгляд, картами являются карты на основе JavaCard и Global Platform, в которых ОС карты — это платформа, на которой можно установить различные приложения. Приложения, написанные для JavaCard, с использованием стандартных API, можно будет загрузить на все карты, поддерживающие совместимую версию платформы, вне зависимости от производителя карты. Что касается Global Platform, то это набор спецификаций, регулирующий безопасную администрацию карты, в том числе установку, блокировку либо удаление тех или иных приложений, а также управление жизненным циклом (Life Cycle) карты.

Маленькое примечание по поводу администрации карты. Пользователь карты, как правило, не является владельцем и администратором карты. К примеру, администратором SIM-Карты является оператор мобильной связи, а не абонент. Только оператор имеет право устанавливать или удалять приложения на/с карты. Тем не менее, существует также возможность приобрести «пустые» карты для собственной разработки приложений.

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

Прежде всего, я все еще относительно новичок в работе со смарт-картами и не знаю точно, как хранятся данные и какие данные защищены на смарт-карте.

Я пытаюсь прочитать смарт-карту, удостоверяющую личность студента и защищенную PIN-кодом. Я программировал на C ++ с библиотекой смарт-карт Windows по умолчанию (winscard.lib).

Я успешно прочитал заголовок ATR, но, насколько я знаю, заголовок ATR содержит информацию о том, как общаться с читателем, а не информацию о пользователе.

Я попытался прочитать двоичный файл с карты, но APDU всегда возвращает 6E 00, что означает «класс не поддерживается» или «неправильная инструкция». Вот код:

Где cmdRead выглядит следующим образом:

Что может быть не так? Нужно ли сначала проверять карту, чтобы прочитать двоичный файл? Является ли функция чтения двоичных данных правильной для чтения основных данных, таких как идентификатор студента?

Решение

Другие решения

Я могу вспомнить две причины, по которым карта возвращает 6E00.

Как сказал @guidot, без спецификации это будет очень сложно.

Прежде всего, как заметил @guidot, это скучный процесс. Не только у вас есть полная информация о javacards, но также вы должны знать, как что-то вроде взлома смарт-карты, потому что у вас нет спецификации производителя карты и, возможно, они используют безопасность на своей карте, которую вы должны знать ключи.

Чтобы получить доступ к данным внутри брандмауэра апплета, вы должны выбрать, что апплет и апплет выбираются, когда JCRE (среда выполнения Java Card) получает выбранный APDU, данные которого соответствуют AID апплета.
И если есть установленный домен безопасности, то у вас должны быть эти ключи безопасности для успешного выбора апплета.

Чтобы получить список команд APDU, взаимодействующих с устройством чтения карт, проверьте эта ссылка .

Там много информации Вот о написании библиотеки смарт-карт на C ++, которая использует WinSCard.dll для связи с читателем.

Также эта ссылка о структуре файловой системы в Java-карте, которая будет полезна, если апплет хранит свои данные в файлах.

а также эта ссылка пример выбора файла в javacard

Если вы хотите пойти дальше через реализацию апплета Java-карты, Вот это руководство о том, как реализовать апплет Java-карты.
Обратите внимание, что не забудьте прочитать самые важные существующие документы, такие как глобальная платформа и ISO 7816.

Как сказал Чух: в карте JAVA
1. Затем вы должны следовать выбору AID
2. так как вы читаете двоичный файл, выберите двоичный EF
2a). Так как вы используете P1 00, я надеюсь, что вы уже выбрали конкретный EF.
Примечание: даже если я чувствую, что ваша команда неверна для чтения двоичных данных в смарт-карте ISO 7816 / ISO 14443.

иначе как ISO 7816 4:

Таким образом, команда должна быть: 00 B0 83 14 0A: вот и все. Больше не нужно больше байтов для чтения двоичного файла. если вы уже выбрали EF-файл Insted из 83, вы можете указать 00:
Примечание. Это означает, что у вас нет условий безопасности. Если у вас есть условия безопасности, вы должны выполнить это, прежде чем читать это.

Читайте также: