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

Обновлено 13.01.2019

ключ 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. Ключ в системе видится, а вот в КриптоПРО нет.

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

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

JaCarta ключ не видится в криптопро на терминальном сервере-03

Как видно в утилите 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 ключ?

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

Перед установкой любого программного обеспечения работающего с USB носителями на которых находятся сертификаты и закрытые ключи. Нужно ОБЯЗАТЕЛЬНО отключить токен, если воткнут локально, то отключаем его, если по сети, разрываем сессию

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

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

Официальный сайт: https://www.aladdin-rd.ru/support/downloads/87d06960-71a6-4fc0-853f-31c518fc1e2d

Скачать JaCarta PKI 2.11 с mail облака

jacarta драйвер

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

Установка единого клиента JaCard-01

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

Установка единого клиента JaCard-02

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

Установка единого клиента JaCard-03

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

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

Выборочная установка драйверов JaCarta

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

Установка единого клиента JaCard-04

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

Установка единого клиента JaCard-05

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

Установка единого клиента JaCard-06

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

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

https://www.cryptopro.ru/downloads

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

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

Установка КриптоПРо для Jacarta-01

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

Установка КриптоПРо для Jacarta-02

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

JaCarta ключ не видится в криптопро на терминальном сервере-01

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

JaCarta ключ не видится в криптопро на терминальном сервере-02

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

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

JaCarta ключ не видится в криптопро на терминальном сервере-04

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

JaCarta ключ не видится в криптопро на терминальном сервере-05

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

JaCarta ключ не видится в криптопро на терминальном сервере-06

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

JaCarta ключ не видится в криптопро на терминальномс сервере-07

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

JaCarta ключ не видится в криптопро на терминальномс сервере-09

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

JaCarta ключ не видится в криптопро на терминальномс сервере-11

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

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

JaCarta ключ не видится в криптопро на терминальном сервере-13

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

JaCarta ключ не видится в криптопро на терминальномс сервере-12

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

JaCarta ключ не видится в криптопро на терминальном сервере-08

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

Jacarta

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

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

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

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

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

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

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

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

токен jacarta

  • Убедитесь в сохранности настроек 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

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

Автор - Сёмин Иван

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

  1. Евгений:

    Здравствуйте!

    Всё делаю по Вашей статье. НО! Драйвер не определяется как ARDS JaCarta. Может быть подскажете что делать?

  2. Евгения:

    здравствуйте все делала по вашей статье,драйвер не определился

  3. Иван Семин:

    Добрый день! А какую ошибку показывает и как видится в диспетчере устройств?

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

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