На этой смарт карте не найдены действительные сертификаты windows 10

Обновлено: 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 ДБО. Если есть замечания или поправки, то пишите их в комментариях.

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

Отладка и отслеживание проблем смарт-карт требуют различных средств и подходов. В следующих разделах указаны инструменты и подходы, которые можно использовать.

Certutil

Полное описание Certutil, включая примеры, которые показывают, как его использовать, см. в примере Certutil [W2012].

Сертификаты списка, доступные на смарт-карте

Чтобы перечислить сертификаты, доступные на смарт-карте, введите certutil -scinfo .

Ввод ПИН-кода не требуется для этой операции. Вы можете нажать ESC, если вам будет предложен ПИН-код.

Удаление сертификатов на смарт-карте

Каждый сертификат заключен в контейнер. При удалении сертификата на смарт-карте удаляется контейнер для сертификата.

Чтобы найти значение контейнера, введите certutil -scinfo .

Чтобы удалить контейнер, введите certutil-delkey-csp "Microsoft Base Smart Card Crypto Provider" < "ContainerValue". >

Отладка и отслеживание с помощью WPP

Включить трассировка

С помощью WPP используйте одну из следующих команд, чтобы включить отслеживание:

Начало журнала < FriendlyName > -ets-p < GUID > > - < Флаги > -ft 1 -rt -o .\ < LogFileName > **.etl-mode 0x00080000 **

Параметры можно использовать в следующей таблице.

Чтобы включить трассировку для службы SCardSvr:

logman start scardsvr -ets-p 0xffff -ft 1 -rt -o .\scardsvr.etl-mode 0x00080000

Чтобы включить трассировку для scfilter.sys:

Остановка трассировки

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

tracelog.exe -stop < FriendlyName>

logman -stop < FriendlyName > -ets

Примеры:

Чтобы остановить след:

tracelog.exe -stop scardsvr

logman -stop scardsvr -ets

Протокол Kerberos, KDC и отладка и отслеживание NTLM

Эти ресурсы можно использовать для устранения неполадок этих протоколов и KDC:

Windows (WDK)и средства отладки для Windows (WinDbg) . Вы можете использовать средство журнала трассировки в этом SDK для отладки сбоев проверки подлинности Kerberos.

Чтобы начать трассировку, можно использовать Tracelog . Различные компоненты используют различные GUID-интерфейсы управления, как это объясняется в этих примерах. Дополнительные сведения Tracelog см. в .

Протокол NTLM

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

Чтобы остановить отслеживание для проверки подлинности NTLM, запустите эту команду:

Проверка подлинности Kerberos

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

Чтобы остановить отслеживание проверки подлинности Kerberos, запустите эту команду:

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

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

Чтобы остановить отслеживание с удаленного компьютера, запустите эту команду: logman.exe -s * < ComputerName > *.

Расположение по умолчанию для logman.exe % systemroot%system32\. Используйте параметр -s для поставки имени компьютера.

Настройка отслеживания с помощью реестра

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

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters
Имя значения: KerbDebugLevel
Тип значения: DWORD
Данные значения: c0000043

Если вы использовали, посмотрите следующий файл журнала в текущем Tracelog каталоге: kerb.etl/kdc.etl/ntlm.etl.

Если вы использовали параметры ключей реестра, показанные в предыдущей таблице, посмотрите на файлы журнала трассировки в следующих расположениях:

Служба смарт-карт

Служба диспетчера ресурсов смарт-карт работает в контексте локальной службы. Он реализуется в качестве общей службы процесса хост-службы (svchost).

Чтобы проверить, запущена ли служба Смарт-карты

В диалоговом окне Windows Диспетчер задач выберите вкладку Services.

Выберите столбец Name для сортировки списка в алфавитном порядке, а затем введите s.

В столбце Имя посмотрите на SCardSvr, а затем посмотрите в столбце Состояние, чтобы узнать, запущена или остановлена служба.

Перезапуск службы смарт-карт

Запустите в качестве администратора в командной подсказке.

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

В командной подсказке введите net stop SCardSvr .

В командной подсказке введите net start SCardSvr .

Вы можете использовать следующую команду в командной подсказке, чтобы проверить, запущена ли служба: sc queryex scardsvr .

В следующем примере кода приводится пример вывода из этой команды:

Считыватели смарт-карт

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

Чтобы проверить, работает ли считыватель смарт-карт

Перейдите к компьютеру.

Щелкните правой кнопкой мыши Компьютер, а затем выберите Свойства.

В статье Задачивыберите диспетчер устройств.

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

Если считыватель смарт-карт не указан в диспетчере устройств, в меню Action выберите scan для изменения оборудования.

Диагностика CryptoAPI 2.0

Диагностика CryptoAPI 2.0 доступна в Windows версиях, которые поддерживают CryptoAPI 2.0 и могут помочь устранить проблемы с инфраструктурой ключей общего ключевых (PKI).

CryptoAPI 2.0 Диагностика регистрит события в журнале Windows событий. Журналы содержат подробные сведения о проверке цепочки сертификатов, операциях хранения сертификатов и проверке подписи. Эта информация упрощает определение причин проблем и сокращает время, необходимое для диагностики.

Дополнительные сведения о диагностике CryptoAPI 2.0 см. в Enterprise PKI.

1. Убедитесь, что для подписания в вашей версии Office требуется плагин КриптоПро Office Signature 2.0. Системные требования и отличия версий описаны на этой странице.
Подписание в MS Office 2007/2010/2013/2016/2019 можно произвести только при помощи плагина КриптоПро Office Signature с неистекшей лицензией. Чтобы проверить наличие лицензии, откройте меню «Пуск», выберите программу «КриптоПро PKI», в ней выделите «КриптоПро Office Signature» — справа появится информация о лицензии. При первичной установке плагина демо-версия лицензии действует 3 месяца, в дальнейшем лицензию необходимо приобретать.

​2. Убедитесь, что установлена последняя версия плагина КриптоПро Office Signature 2.0. Обновить плагин можно через диагностику УЦ или скачав дистрибутив с сайта КриптоПро.

3. Убедитесь, что в документе при подписании вы выбираете именно «Добавить цифровую подпись (КРИПТО-ПРО)». Подробнее с порядком подписания вы можете ознакомиться по ссылке.

4. Проверьте, что присутствует действующая лицензия КриптоПро CSP — локальная или встроенная в сертификат. Наличие локальной лицензии можно просмотреть в программе КриптоПро CSP: откройте «Пуск», выберите «Панель управления», найдите «КриптоПро CSP», в программе, на вкладке «Общие» в строке «Срок действия» будет указан срок действия лицензии. Наличие встроенной в сертификат лицензии можно просмотреть в открытом ключе сертификата: в программе КриптоПро CSP перейдите на вкладку «Сервис», нажмите кнопку «Просмотреть сертификаты в контейнере», нажмите «Обзор», выберите контейнер вашего сертификата, нажмите «Ок», затем «Далее» и «Свойства» — появится открытый ключ сертификата. Если на вкладке «Состав» будет поле «Ограниченная лицензия на КриптоПро CSP для использования с закрытым ключом данного сертификата», то у вашего сертификата есть встроенная лицензия (локальная лицензия не требуется).

5. Проверьте, что для подписи выбирается действующий сертификат (в окне подписания нажать «Изменить»).
Сертификат не должен быть для ЕГАИС для алкоголя, т.к. подписание таким сертификатом невозможно из-за встроенного СКЗИ, которое не используется в Office

6. Проверьте, что у вас подходящая для ОС версия КриптоПро CSP. Для этого пройдите диагностику УЦ и выполните рекомендуемые действия. Если нужно, портал Диагностики самостоятельно определит и предложит установить корректную версию.

7. Скопируйте сертификат в реестр и повторно попробуйте подписать документ. Инструкция по копированию контейнера с сертификатом доступна по этой ссылке.

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

9. Если ошибка сохранилась, запросите пользователю полные права на отдельные ветки реестра. Для этого нажмите «Пуск», найдите поисковую строку Windows (либо кнопку «Выполнить») и введите в нее команду «regedit». Откроется реестр вашего компьютера, перейдите по веткам: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\ClickToRun\REGISTRY\MACHINE\Software и HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\ClickToRun\REGISTRY\MACHINE\Software. Нажмите на папке «Software» правой кнопкой мыши и выберите «Разрешения», укажите пользователя, под которым осуществлен вход в учетную запись на компьютере и поставьте галочку в поле «Полный доступ».

  • Откройте любой документ Office, после чего зайдите в диспетчер задач (правой кнопкой мыши по часам на компьютере — кнопка «Диспетчер задач»). Найдите процесс запущенного файла Office, в его названии будет указана разрядность. Пример: Microsoft Office (32 бита).
  • Кликните правой кнопкой мыши по кнопке «Пуск» и нажмите «Выполнить». В строке впишите «regedit» (без кавычек) и нажмите «ОК». Запустится редактор реестра (перед этим может возникнуть окно контроля учетных записей, в нем нужно нажать «Да».
  • Для 32-битной версии MS Office:
    Откройте путь «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Microsoft\AppV\Subsystem\VirtualRegistry», после чего в параметре PassThroughPaths добавьте еще одно значение «HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro» (без кавычек).

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

На этой-смарт-карте не найдены действительные сертификаты.

Подскажите в чем может быть проблема?

  • Антон Тихиенко
  • Администратор
  • Неактивен

Подскажите в чем может быть проблема?

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

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

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

  • Антон Тихиенко
  • Администратор
  • Неактивен

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

Тут не совсем понятно, при какой именно операции авторизации проявляется такой "двойной запрос" сертификата (по RDP или иначе)?

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

Тут не совсем понятно, при какой именно операции авторизации проявляется такой "двойной запрос" сертификата (по RDP или иначе)?

При подключении через RDP "Подключение к удаленному рабочему столу" .
Нажимаем подключить получаем окно для ввода учетных данных, отображается информация из токена имя сертификата и поле для ввода пинкода.
Вводим пинкод загружается удаленный рабочий стол "Другой пользователь" (почему-то) и окно для ввода логина и пароля. Ниже можно выбрать параметры входа и если нажать на сарт-карту происходит авторизация.

Т.е. не проходит сквозная авторизация. Может как-то можно настроить чтобы не вводить пароль на стороне клиента, а только при подключении к серверу?

  • Антон Тихиенко
  • Администратор
  • Неактивен

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

Тут не совсем понятно, при какой именно операции авторизации проявляется такой "двойной запрос" сертификата (по RDP или иначе)?

При подключении через RDP "Подключение к удаленному рабочему столу" .
Нажимаем подключить получаем окно для ввода учетных данных, отображается информация из токена имя сертификата и поле для ввода пинкода.
Вводим пинкод загружается удаленный рабочий стол "Другой пользователь" (почему-то) и окно для ввода логина и пароля. Ниже можно выбрать параметры входа и если нажать на сарт-карту происходит авторизация.


etoken_auth_01

Далее добавим серверу роль AD CA (центр сертификации).

etoken_auth_02

Дополнительно установим Web службу для запроса сертификатов.

etoken_auth_03

Далее выбираем вариант для предприятия. Выбираем Корневой ЦС (если у нас это первый центр сертификации в домене)
Создаем новый закрытый ключ. Длину ключа можно оставить туже, а вот алгоритм хеширования лучше выбрать SHA2 (SHA256).

etoken_auth_04


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


После установки зайдем в оснастку центра сертификации и настроим права на шаблоны.

etoken_auth_07

Далее включим эти шаблоны.

И они появятся у нас в общем списке.

etoken_auth_09

Следующим шагом настроим групповые политики:
Первым делом расскажем всем компьютерам домена о корневом центре сертификации, для этого изменим Default Domain Policy.
Конфигурация компьютера -> Политики -> Конфигурация Windows -> Параметры безопасности -> Политики открытого ключа -> Доверенные корневые центры сертификации -> Импорт

etoken_auth_10


Выберем наш корневой сертификат, расположенный по пути: C:\Windows\System32\certsrv\CertEnroll. Закрываем Default Domain Policy.
На следующем шаге создадим политику для контейнера, в котором будут находится компьютеры с аутентификацией по токену (Смарт-карте).

etoken_auth_11

etoken_auth_12

etoken_auth_13

etoken_auth_15


Теперь пользователь Enrollment Agent может выписывать сертификаты для других пользователей. К примеру запросим сертификат для пользователя test. Для этого откроем консоль управления сертификатами certmgr.msc, т.к. через web интерфейс не получится записать сертификат на usb токен.
В этой консоли на папке личное сделаем запрос от имени другого пользователя

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

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