- Windows 10 не видит токены
- Описание окружения
- Алгоритм решения проблем с JaCarta
- Возможные причины с определением контейнера
- Как решить проблему, что криптопро не видит USB ключ?
- Установка единого клиента JaCarta PKI
- Установка КриптоПРО
- Не возможно подключиться к службе управления смарт-картами
- eToken
- Драйвера eToken
Windows 10 не видит токены
Добрый день! Уважаемые читатели и подписчики 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). Вот так вот выглядит ситуация, когда утилита КриптоПРО не видит сертификат в контейнере.
Как видно в утилите UTN Manager ключ подключен, он видится в системе в смарт картах в виде Microsoft Usbccid (WUDF) устройства, но вот CryptoPRO, этот контейнер не определяет и у вас нет возможности установить сертификат. Локально токен подключали, все было то же самое. Стали думать что сделать.
Возможные причины с определением контейнера
- Во первых, это проблема с драйверами, например, в Windows Server 2012 R2, JaCarta в идеале должна определяться в списке смарт карт как JaCarta Usbccid Smartcard, а не Microsoft Usbccid (WUDF)
- Во вторых если устройство видится как Microsoft Usbccid (WUDF), то версия драйверов может быть устаревшей, и из-за чего ваши утилиты будут не определять защищенный USB носитель.
- Устарелая версия 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, найдите пункт «Считыватели устройств смарт-карт (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, и видим, что криптопро не видит сертификат в контейнере, хотя все драйвера определились как нужно. Есть еще одна фишка.
- В RDP сессии вы не увидите свой токен, только локально, уж такая работа токена, либо я не нашел как это поправить. Вы можете попробовать выполнить рекомендации по устранению ошибки «Не возможно подключиться к службе управления смарт-картами».
- Нужно снять одну галку в CryptoPRO
ОБЯЗАТЕЛЬНО снимите галку «Не использовать устаревшие cipher suite-ы» и перезагрузитесь.
После этих манипуляций у меня КриптоПРО увидел сертификат и смарт карта jacarta стала рабочей, можно подписывать документы.
Еще можете в устройствах и принтерах, увидеть ваше устройство JaCarta,
Если у вас как и у меня, токен jacarta установлен в виртуальной машине, то вам придется устанавливать сертификат, через console виртуальной машины, и так же дать на нее права ответственному человеку. Если это физический сервер, то там придется давать права на порт управления, в котором так же есть виртуальная консоль.
Не возможно подключиться к службе управления смарт-картами
Когда вы установили все драйвера для токенов Jacarta, вы можете увидеть при подключении по RDP и открытии утилиты «Единый клиент Jacarta PKI» вот такое сообщение с ошибкой:
- Не запущена служба смарт-карт на локальной машине. Архитектурой 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
Вот такой вот был траблшутинг по настройке токена Jacarta, КриптоПРО на терминальном сервере, для подписи документов в ВТБ24 ДБО. Если есть замечания или поправки, то пишите их в комментариях.
eToken
Любой человек, работающий IT специалистом хоть раз но сталкивался с электронными ключами. Этих ключей очень много все они разные. Сегодня пойдет речь не а самих ключах а о носителях, на которых эти ключи хранятся. Сегодня разберем, что такое eToken и проблемы, которые могут возникнуть при работе с eToken.
Для начала расскажу, что такое eToken это торговая марка для линейки персональных средств аутентификации в виде USB-брелков и смарткарт, а также программные решения с их использованием. Если сказать проще то специальный USB носитель для хранения различных ключей. Внешне она очень похожа на обычную флешку. Если кто хочет узнать подробней о eToken то можете зайти на сайт производителя и почитать подробней. Я небу расписывать все подробно так как это тема для отдельной статьи.
Драйвера eToken
В некоторых случаях после того, как более ранняя версия была удалена неправильно, драйверы eToken приходится деинсталлировать в ручном режиме. Изложенный ниже способ удаления касается такихпрограмм, как eToken RTE ( версия 3.65 и выше), eToken PKI Client ( версия 4.5 и выше), а также eToken PKI Client (версия 5.0 и выше).
При неполной деинсталляции драйверов eToken могут возникнуть следующие неполадки – в процессе инсталляции новой версии драйверов может произойти «откат» к старой версии, из-за чего процесс установки будет прерван.
Или, как вариант, драйверы все же установятся, но после этого число виртуальных считывателей будет равняться нулю, и исправить это значение будет нельзя.
Возникают подобные неприятности из-за того, что не полностью удаленные драйверы старых версий мешают установке и нормальному функционированию обновленных драйверов.
Исправляются они следующим образом – сперва нужно удалить все подключенные к ПК электронные ключи eToken, после чего выполнить вход в систему под учетной записью администратора, и произвести следующие манипуляции:
1. В меню “Пуск” открыть вкладку “Панель управления”, в которой необходимо найти пункт “Установка и удаление программ”. Если в списке установленных программ обнаружатся драйверы, имеющие названия eToken PKI Client, или же eToken RunTime Enviroment(RTE), то их следует просто удалить с помощью штатных средств Windows (т.е. просто кликнуть на кнопке “Удалить”, расположенной рядом с названием драйвера).
2. При помощи вкладки “Выполнить ” в меню “Пуск“ проверить, имеются ли на компьютере файлы со следующими адресами: %SYSTEMROOT%\system32\eToken.dll, %SYSTEMROOT%\system32\drivers\aksup.sys, или %SYSTEMROOT%\system32\drivers\aksifdh.sys.В случае обнаружения этих файлов их также нужно удалить.
3. Нужно просто произвести удаление папки, находящуюся по адресу: %SYSTEMROOT%\system32\Setup\Aladdin\eToken
4. Удалить службу ETOKSRV, если она имеется на компьютере. Для того, чтобы сделать это, необходимо набрать в командной строке (для ее вызова можно использовать способ, описанный выше, а можно открыть меню “Пуск”, и во вкладке “Выполнить” набрать “CMD” ) команду : sc delete etsrv и sc delete ETOKSRV
5. Перезагрузить компьютер, после чего попытаться выполнить установку драйверов.
После этих манипуляций проблемы с eToken должны исчезнуть при условии, что вы все сделали правильно и компьютер полностью исправен.