Управление смарт картами windows 10

Смарт-карты для службы Windows Smart Cards for Windows Service

Применимо к: Windows 10, Windows Server 2016 Applies To: Windows 10, Windows Server 2016

В этом разделе для ИТ-специалистов и разработчиков смарт-карт описывается, как служба смарт-карт для Windows (прежнее название — диспетчер ресурсов смарт-карт) управляет взаимодействием с читателями и приложениями. This topic for the IT professional and smart card developers describes how the Smart Cards for Windows service (formerly called Smart Card Resource Manager) manages readers and application interactions.

Служба смарт-карт для Windows предоставляет базовую инфраструктуру для всех остальных компонентов смарт-карт при управлении считывателей смарт-карт и взаимодействиями с приложениями на компьютере. The Smart Cards for Windows service provides the basic infrastructure for all other smart card components as it manages smart card readers and application interactions on the computer. Он полностью соответствует спецификациям, установленным в pc/SC Workgroup. It is fully compliant with the specifications set by the PC/SC Workgroup. Сведения об этих спецификациях см. на веб-сайте pc/SC Workgroup Specifications. For information about these specifications, see the PC/SC Workgroup Specifications website.

Служба смарт-карт для Windows запускается в контексте локальной службы и реализуется как общая служба процесса хоста служб (svchost). The Smart Cards for Windows service runs in the context of a local service, and it is implemented as a shared service of the services host (svchost) process. Смарт-карты для службы Windows, Налддсвейру, имеет следующее описание службы: The Smart Cards for Windows service, Scardsvr, has the following service description:

**** Примечание Чтобы winscard.dll в качестве правильного установщика класса, INF-файл для ридера смарт-карт должен указать следующее для Class и ClassGUID: Note For winscard.dll to be invoked as the proper class installer, the INF file for a smart card reader must specify the following for Class and ClassGUID:
Class=SmartCardReader
ClassGuid=

По умолчанию служба настроена для ручного режима. By default, the service is configured for manual mode. Создателям драйверов для чтения смарт-карт необходимо настроить свои infs таким образом, чтобы они запускали службу автоматически и winscard.dll файлы вызывали предопределеную точку входа для запуска службы во время установки. Creators of smart card reader drivers must configure their INFs so that they start the service automatically and winscard.dll files call a predefined entry point to start the service during installation. Точка входа определяется как часть класса SmartCardReader и не вызвана напрямую. The entry point is defined as part of the SmartCardReader class, and it is not called directly. Если устройство объявляет себя как часть этого класса, автоматически вызывается точка входа для запуска службы при вставке устройства. If a device advertises itself as part of this class, the entry point is automatically invoked to start the service when the device is inserted. Использование этого метода гарантирует, что служба будет включена при необходимости, но также отключена для пользователей, не использующих смарт-карты. Using this method ensures that the service is enabled when it is needed, but it is also disabled for users who do not use smart cards.

Когда служба запущена, она выполняет несколько функций: When the service is started, it performs several functions:

Она регистрируется для уведомлений службы. It registers itself for service notifications.

Она регистрируется для уведомлений plug and Play (PnP), связанных с удалением и добавлением устройств. It registers itself for Plug and Play (PnP) notifications related to device removal and additions.

Читайте также:  Команда сброс пароля windows

Он инициализирует кэш данных и глобальное событие, которое сообщает о том, что служба запущена. It initializes its data cache and a global event that signals that the service has started.

**** Примечание Для внедрения смарт-карт рассмотрите возможность отправки всех сообщений в операционных системах Windows со средствами чтения смарт-карт через службу смарт-карт для Windows. Note For smart card implementations, consider sending all communications in Windows operating systems with smart card readers through the Smart Cards for Windows service. Это обеспечивает интерфейс для отслеживания, выбора и связи со всеми драйверами, которые объявляют себя членами группы устройств чтения смарт-карт. This provides an interface to track, select, and communicate with all drivers that declare themselves members of the smart card reader device group.

Служба смарт-карт для Windows классифицируют каждый слот устройства чтения смарт-карт как уникальный считыватель, и каждый слот также управляется отдельно независимо от физических характеристик устройства. The Smart Cards for Windows service categorizes each smart card reader slot as a unique reader, and each slot is also managed separately, regardless of the device’s physical characteristics. Служба смарт-карт для Windows обрабатывает следующие высокоуровневые действия: The Smart Cards for Windows service handles the following high-level actions:

Введение в устройство Device introduction

Инициализация читателя Reader initialization

Уведомление клиентов о новых читателях Notifying clients of new readers

Сериализация доступа к читателям Serializing access to readers

Доступ к смарт-карте Smart card access

Туннелing команд для чтения Tunneling of reader-specific commands

Служба смарт карта не запускается windows 10

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

Однако некоторые смарт карты могут работать на компьютере даже с не установленным программным обеспечением. В таком случае можно отключить сообщение об ошибке.
Для этого находите в Windows 10 смарт карты в диспетчере устройств. Наводите курсор на этот пункт и нажимаете правую кнопку мыши, откроется контекстное меню в котором выбираете пункт Другие устройства — Отключить. После этого появится окно Смарт-карта в котором нужно нажать Да.

Проблема:
При добавлении новой карты в систему Indeed CM появляется сообщение об ошибке:

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

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

Чтобы просмотреть состояние службы Смарт-карта выполните следующие действия (для русскоязычных ОС):
Откройте меню Панель управления – Администрирование – Службы, найдите в списке службу Смарт-карта

Для англоязычных ОС:
Откройте меню Control Panel – Administrative Tools – Services найдите службу Smart Card

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

Для русскоязычных ОС: Свойства браузера – Безопасность – Местная интрасеть – Сайты. Добавить зону следующий узел: https://»DNS-имя сервера CM» и wss://localhost/

Для англоязычных ОС: Internet options – Security – Local intranet – Sites .

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

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

Добрый день! Уважаемые читатели и подписчики IT блога Pyatilistnik.org. Последние два дня у меня была интересная задача по поиску решения на вот такую ситуацию, есть физический или виртуальный сервер, на нем установлена наверняка многим известная КриптоПРО. На сервер подключен USB ключ JaCarta, который используется для подписи документов для ВТБ24 ДБО. Локально на Windows 10 все работает, а вот на серверной платформе Windows Server 2016 и 2012 R2, Криптопро не видит ключ JaCarta. Давайте разбираться в чем проблема и как ее поправить.

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

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

Читайте также:  Windows 10 как отключить остановку жесткого диска

Алгоритм решения проблем с 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

Единый Клиент JaCarta – это специальная утилита от компании «Аладдин», для правильной работы с токенами JaCarta. Загрузить последнюю версию, данного программного продукта, вы можете с официального сайта, или у меня с облака, если вдруг, не получиться с сайта производителя.

Далее полученный архив вы распаковываете и запускаете установочный файл, под свою архитектуру 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», подключенного токена обнаружено не было, значит, что-то с драйверами.

Microsoft Usbccid (WUDF) – это стандартный драйвер Microsoft, который по умолчанию устанавливается на различные токены, и бывает, что все работает, но не всегда. Операционная система Windows по умолчанию, ставит их в виду своей архитектуры и настройки, мне вот лично в данный момент такое не нужно. Что делаем, нам нужно удалить драйвера Microsoft Usbccid (WUDF) и установить драйвера для носителя Jacarta.

Читайте также:  Кнопка сворачивания окна windows

Откройте диспетчер устройств 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, и видим, что криптопро не видит сертификат в контейнере, хотя все драйвера определились как нужно. Есть еще одна фишка.

  1. В RDP сессии вы не увидите свой токен, только локально, уж такая работа токена, либо я не нашел как это поправить. Вы можете попробовать выполнить рекомендации по устранению ошибки «Не возможно подключиться к службе управления смарт-картами».
  2. Нужно снять одну галку в CryptoPRO

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

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

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

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

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

Когда вы установили все драйвера для токенов Jacarta, вы можете увидеть при подключении по RDP и открытии утилиты «Единый клиент Jacarta PKI» вот такое сообщение с ошибкой:

  1. Не запущена служба смарт-карт на локальной машине. Архитектурой RDP-сессии, разработанной Microsoft, не предусмотрено использование ключевых носителей, подключенных к удалённому компьютеру, поэтому в RDP-сессии удалённый компьютер использует службу смарт-карт локального компьютера. Из этого следует что, запуска службы смарт-карт внутри RDP-сессии недостаточно для нормальной работы.
  2. Служба управления смарт-картами на локальном компьютере запущена, но недоступна для программы внутри RDP-сессии из-за настроек Windows и/или RDP-клиента.

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

  • Запустите службу смарт-карт на локальной машине, с которой вы инициируете сеанс удалённого доступа. Настройте её автоматический запуск при старте компьютера.
  • Разрешите использование локальных устройств и ресурсов во время удалённого сеанса (в частности, смарт-карт). Для этого, в диалоге «Подключение к удалённому рабочему столу» в параметрах выберите вкладку «Локальные ресурсы», далее в группе «Локальные устройства и ресурсы» нажмите кнопку «Подробнее…», а в открывшемся диалоге выберите пункт «Смарт-карты» и нажмите «ОК», затем «Подключить».

  • Убедитесь в сохранности настроек RDP-подключения. По умолчанию они сохраняются в файле Default.rdp в каталоге «Мои Документы» Проследите, чтобы в данном файле присутствовала строчка «redirectsmartcards:i:1».
  • Убедитесь в том, что на удалённом компьютере, к которому вы осуществляете RDP-подключение, не активирована групповая политика
    [Computer ConfigurationAdministrative TemplatesWindows ComponentsTerminal ServicesClientServer data redirectionDo not allow smart card device redirection] -[Конфигурация компьютераадминистративные шаблоныкомпоненты windowsслужбы удалённых рабочих столовузел сеансов удалённых рабочих столовперенаправление устройств и ресурсовНе разрешать перенаправление устройства чтения смарт-карт]. Если она включена (Enabled), то отключите её, и перегрузите компьютер.
  • Если у вас установлена Windows 7 SP1 или Windows 2008 R2 SP1 и вы используете RDC 8.1 для соединения с компьютерами под управлением Windows 8 и выше, то вам необходимо установить обновление для операционной системы https://support.microsoft.com/en-us/kb/2913751

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

Оцените статью
Adblock
detector