Служба смарт карт не запущена на компьютере к которому подключен рутокен

Обновлено: 06.07.2024

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

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

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. Подключение производится через "Удаленный рабочий стол" (RDP). Рутокен вставлен в компьютер, к которому подключаются удаленно.

Эта схема является неправильной. С подробным описанием можно ознакомиться в этой статье.

2. Проблема со службой "Смарт-карта".

При локальном подключении (или при правильном подключении по RDP) эта ошибка указывает на проблемы со службой "Смарт-карта".

Для решения воспользуйтесь следующим алгоритмом:

1. Убедитесь, что у веток реестра (Пуск - Выполнить - regedit)

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


(*) Если нужного пользователя в выборе нет - нужно его добавить:

Нажмите Добавить.

В поле Введите имена выбираемых объектов введите LO.

Нажмите Проверить имена.

Выберите Local Service.


2. Убедитесь, что Служба "Смарт-карта" запущена от имени NT AUTHORITY\LocalService (Пуск - Панель управления - Администрирование - Службы).

Попробуйте Запустить/Перезапустить службу.


3. Если служба не работает/не запускается/не перезапускается - может понадобиться ее переустановка (Только системным администраторам!).

1) Win7, Vista, Win8/8.1, Win10

•Запустите файл (smart-card-7) из вложения.

•Переустановите службу смарт-карт согласно инструкции из вложения (Smart-Card-XP).

4. Возможно какое-либо ПО может блокировать службу "Смарт-карта". Совместно с системным администратором произведите поиск ПО, которое может вызывать проблемы со службой "Смарт-карта".

5. Иногда ошибка может быть в самой ОС. Порой приходится переустанавливать сервис пак, или саму ОС .

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

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

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

вопросы

После установки драйверов и во время использования цифровой подписи потенциально могут возникнуть ошибки. Причины часто кроются в программных ошибках, неправильных действиях пользователя. На практике большинство проблем можно решить самостоятельно, без обращения за помощью в удостоверяющий центр или к специалистам по обслуживанию компьютерной техники. Рассмотрим основные ошибки, с которыми приходится сталкиваться пользователям и которые реально решить своими силами.

Ошибка: Сертификат ненадежен/Не удалось проверить статус отзыва

Ошибку можно заметить на вкладке «Сертификаты» непосредственно в панели управления Рутокен. Проблема возникает во время установки ЭЦП и связана с неполной настройкой. Речь про отсутствие специального корневого доверенного сертификата, который выдает удостоверяющий центр.

Первым шагом к устранению ошибки остается обновление комплекта драйверов. Если проблема не исчезла или последние у вас имеют актуальную версию, выполните действия по следующему алгоритму:

  • выберите ваш сертификат в панели управления;
  • нажмите кнопку «Свойства»;
  • выберите вкладку «Путь сертификации».

Если в открывшемся дереве вы видите лишь ваш личный сертификат, то надо установить еще один, который был выдан в удостоверяющем центре, и сделать доверенным.

Ошибка: Rutoken перестает определяться (Windows 10)

Потенциально могут возникать периодические ошибки из-за недоступности сертификатов, невозможности запустить панель управления. Одновременно светодиод на токене горит, а сам Рутокен имеется в Диспетчере устройств. Подобная ситуация может быть связана со спецификой работы материнской платы компьютера, когда при переходе из энергосберегающего режима в штатный не происходит «пробуждения» токена. Выходом здесь станет его отключение либо повторное подключение Рутокена (для этого достаточно достать USB-токен из разъема и подключить опять).

В случае если ошибка не исчезла, обратитесь за консультацией в удостоверяющий центр, где вы оформили ЭЦП и приобрели Рутокен.

Ошибка: Панель управления не видит Рутокен ЭЦП 2.0

Для решения проблемы выполните следующие действия:

  • подключите токен к другому USB-разъему или компьютеру для оценки работоспособности;
  • определите наличие устройства через «Диспетчер устройств» в разделе «Контроллеры USB»;
  • проконтролируйте наличие доступа к веткам реестра
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Calais и
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Calais\Readers у текущего пользователя и Local Service (если необходимо, то добавьте), также убедитесь, что Служба "Смарт-карта" запущена от имени NT AUTHORITY\LocalService ("Пуск" - "Панель управления" - "Администрирование" - "Службы").;

    Если ничего не помогло и ошибка осталась, обращайтесь в удостоверяющий центр «Астрал». Мы предлагаем услуги по генерации ЭЦП любых типов на выгодных условиях, а также комплексное техническое сопровождение. Для решения проблем мы готовы проконсультировать по телефону либо найти выход с помощью удаленного подключения к вашему компьютеру. Получить дополнительную информацию можно по телефону либо оставив заявку на сайте. Мы оперативно ответим и предоставим консультацию.


    Вот сколько я работаю с виндой, столько её и костерю. И что ни каждый день, то новый повод. На этот раз грабли вылезли в службе смарт-карт (SmartCard).

    Сперва небольшой исторический экскурс. Начиная с версии Windows Vista и соответствующих ей серверных систем (Server 2008 R1) мелкомягкие полностью переделали архитектуру работающих со смарт-картами компонентов. Это коснулось в том числе и драйверов.

    В первый раз с "нововведениями" я столкнулся, когда попытался сделать для пользователей доступ в локальную сеть через OpenVPN в неинтерактивном режиме с аутентификацией по eToken-у. В Windows XP оно прекрасно работало, в Vista и семерке — перестало. Совместно с аладдиновскими разработчиками причина тому была найдена. В той самой пресловутой "новой архитектуре" системные службы (и вообще все что выполняется не из контекста пользователя) больше не могут общаться с драйверами eToken в PKI-режиме, а драйвера режима ядра в принципе не умеют однофакторную (то есть без ввода пароля на токен) аутентификацию. Надо ли разъяснять, что в неинтерактивном режиме пароль вводить как бе и некому? Вот так было работающее отлаженное решение -> не стало решения.

    Теперь я столкнулся с "усовершенствованиями" ещё раз, во всей их красе. Поводом стала ситуация, когда некоторые очень кривые криптопродукты (самый красочный пример — BSS) просто отвратительно работают со смарт-картами в RDP-сеансах. Проще говоря, дико тормозят и тупят. И это заметил не я один. Но поскольку дать [censored] рукожопым программистам из BSS я не в состоянии и отказаться от использования их продуктов — тоже, решил искать обходные пути. Например, редиректить токен на терминал-сервер не встроенным в RDP-клиента способом, а сторонним софтом, который на низком уровне заворачивает USB-шину в Ethernet. Ха-ха, не тут-то было!

    Внезапно я узнал, что терминал-сервер так устроен, что локально подключенные к серверу смарт-карты в RDP-сеансах не доступны by design. То есть в самой WinSCard.dll, через которую проходят все вызовы API-функций работы со смарт-картами есть однозначное логическое ветвление. Если вызов приходит из нулевого сеанса (RDP с ключем "/admin", локально залогиненный пользователь, VNC или Radmin и т.д.), то в этой сессии доступны локально подключенные к серверу токены. В противном же случае (если номер RDP-сеанса ненулевой), то возможно работать только со смарт-картами RDP-клиента и только из того же самого сеанса. Пруф.

    И дошло до того, что некоторые народные умельцы начали самостоятельно отлаживать и патчить пресловутую WinSCard.dll для того, чтобы можно было работать с физически подключенными к серверу токенами из RDP-сеанса (начало, продолжение). Но это ж онанизм и извращение, согласитесь. Особенно в корпоративных средах.

    А на аладдиновских форумах регулярно всплывают вопросы "ой, а почему у меня не работает?" (раз, два).

    Вот же "доулучшались", черти мелкомягкие. И чего у них зазудило, спрашивается? Хотели как лучше, а получилось как всегда?

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