Версия ПО: Единый Клиент 2.6 - 2.9, Единая Библиотека 2.0.0.1500 - 2.1.3.1900
Токены: Любые
Проблема:
При подключении по RDP к удалённому компьютеру с установленным "Единым Клиентом JaCarta" запуск приложения завершается ошибкой:
Единый Клиент 2.6 - 2.7 - "Невозможно запустить приложение. Невозможно проинициализировать cryptoki библиотеку ‘jcPKCS11-2.dll’".
Единый Клиент 2.8 – "Служба управления смарт-картами не запущена. Для продолжения работы необходимо её запустить".
Единый Клиент 2.9 – "Невозможно подключиться к службе управления смарт-картами".
При этом, служба смарт-карт на удалённом компьютере запущена. Внутри RDP-сессии служба смарт-карт также определяется, как запущенная.
Причина:
- Не запущена служба смарт-карт на локальной машине. Архитектурой RDP-сессии, разработанной Microsoft, не предусмотрено использование ключевых носителей, подключенных к удалённому компьютеру, поэтому в RDP-сессии удалённый компьютер использует службу смарт-карт локального компьютера. Из этого следует что, запуска службы смарт-карт внутри RDP-сессии недостаточно для нормальной работы.
- Служба управления смарт-картами на локальном компьютере запущена, но недоступна для программы внутри RDP-сессии из-за настроек Windows и/или RDP-клиента.
Решение:
- Запустите службу смарт-карт на локальной машине, с которой вы инициируете сеанс удалённого доступа. Настройте её автоматический запуск при старте компьютера.
- Разрешите использование локальных устройств и ресурсов во время удалённого сеанса (в частности, смарт-карт). Для этого, в диалоге "Подключение к удалённому рабочему столу" в параметрах выберите вкладку "Локальные ресурсы", далее в группе "Локальные устройства и ресурсы" нажмите кнопку "Подробнее…", а в открывшемся диалоге выберите пункт "Смарт-карты" и нажмите "ОК", затем "Подключить".
- Убедитесь в сохранности настроек RDP-подключения. По умолчанию они сохраняются в файле Default.rdp в каталоге "Мои Документы" Проследите, чтобы в данном файле присутствовала строчка "redirectsmartcards:i:1".
- Убедитесь в том, что на удалённом компьютере, к которому вы осуществляете RDP-подключение, не активирована групповая политика
[Computer Configuration\Administrative Templates\Windows Components\Terminal Services\Client\Server data redirection\Do 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
Примечание:
Если вы используете RDP-клиенты сторонних производителей, например, работая в среде Linux, то они должны поддерживать корректное перенаправление запросов из RDP-сессии на локальную службу смарт-карт с учётом версии RDP-сервера, к которому осуществляется подключение.
Внимание!
Работа в сессии RDP с ключевым носителем, подключённым непосредственно к серверу, не является корректной.