Служба смарт-карт (Smart Card, SCardSvr) должна быть запущена, иначе ни Рутокен, ни JaCarta, ни любой другой USB-токен не появятся ни в оснастке «Сертификаты», ни в КриптоПро CSP. Первое, что проверяют при ошибке подписи: работает ли служба. Второе: установлен ли драйвер производителя. Третье: видит ли токен Диспетчер устройств.
Рабочий порядок действий такой: скачать драйвер с официального сайта производителя и поставить его от имени администратора, перевести службу Smart Card в режим «Автоматически (отложенный запуск)», включить перезапуск при сбое, затем убедиться, что сертификат виден в certmgr.msc. Ниже каждый шаг разобран с кодами ошибок, ветками реестра и типовыми конфликтами.
Ограничение по фактам: в открытых источниках, доступных при подготовке материала, нет подтверждённой документации производителей по версиям драйверов на 2026 год. Названия пунктов меню, номера версий драйверов и требования КриптоПро CSP сверяйте с официальной документацией Актив (Рутокен), Аладдин Р.Д. (JaCarta) и Microsoft для вашей сборки. Дальше речь идёт о штатных механизмах Windows, которые не меняются годами, и о типовых сценариях их настройки.
Что такое служба смарт-карт и зачем она нужна для токенов
Служба смарт-карт входит в состав Windows и даёт приложениям доступ к смарт-картам и токенам через интерфейс WinSCard. Через этот интерфейс работают КриптоПро CSP, ViPNet CSP, КриптоАРМ, 1С с модулем подписи и браузерные плагины для порталов: все они читают сертификат с аппаратного носителя именно так.
Рядом работают два связанных компонента. «Перечисление смарт-карт» (ScDeviceEnum) отслеживает подключение устройств. «Смарт-карта (удаление сертификата)» (CertPropSvc) переносит сертификаты с карты в хранилище пользователя, без неё не работает вход по смарт-карте и часть сценариев с ЭЦП.
На чистой Windows 10 и 11 тип запуска SCardSvr - «Вручную», плюс настроен триггер на подключение смарт-карты. Триггер срабатывает не во всех сценариях: при работе через RDP, в терминальной сессии или внутри контейнера служба может не подняться вовремя. Для рабочих машин с токенами надёжнее переключить запуск на «Автоматически (отложенный запуск)».
Проверка занимает минуту: Win+R, команда services.msc, служба «Smart Card», состояние «Выполняется». Если служба остановлена, раздел «Личные» в оснастке «Сертификаты» будет пустым: сертификат физически лежит на токене, но система его не читает. В журналах приложений в этот момент появляется «Нет доступных сертификатов».
Как служба смарт-карт взаимодействует с драйверами и криптопровайдером
Цепочка выглядит так: USB-токен, драйвер производителя, служба смарт-карт, криптопровайдер, приложение.
- Токен подключается по USB и определяется как устройство чтения смарт-карт. Драйвер Рутокен или JaCarta создаёт виртуальный ридер с именем вида «Rutoken ECP 2.0 0» или «JaCarta-2 ГОСТ 0».
- Служба смарт-карт регистрирует ридер в системе и публикует его для приложений через WinSCard.
- Криптопровайдер (КриптоПро CSP, ViPNet CSP) обращается к ридеру, читает контейнер и выполняет операции подписи на самом токене. Закрытый ключ устройство не покидает.
- Приложение (КриптоАРМ, 1С, плагин портала) получает готовый результат подписи.
Обрыв любого звена даёт свой симптом. Токен не виден в Диспетчере устройств: смотрите драйвер и порт. Токен виден, сертификата нет: проверяйте службу смарт-карт. Сертификат виден, а подпись не проходит: проблема в криптопровайдере, PIN-коде или правах доступа к контейнеру.
Почему служба смарт-карт не запускается: диагностика и исправление
Основные причины: служба остановлена или отключена, повреждены зависимости, учётная запись службы лишена прав, вмешался антивирус или EDR, испорчена ветка реестра SCardSvr. Порядок проверки:
- Win+R, команда services.msc, найти службу «Smart Card».
- Посмотреть состояние и тип запуска. Если стоит «Отключена», вернуть «Автоматически (отложенный запуск)».
- Открыть вкладку «Зависимости»: служба опирается на «Удалённый вызов процедур (RPC)» (RpcSs) и «Plug and Play» (PlugPlay). Если любая из них не работает, SCardSvr не стартует.
- Проверить вкладку «Вход»: там должна стоять «Локальная система» (LocalSystem).
- Нажать «Запустить». Если появилась ошибка, записать код и перейти к журналу событий.
Коды, которые встречаются чаще всего:
| Код | Текст | Что означает |
|---|---|---|
| 1053 | Служба не ответила на запрос своевременно | Служба не успела стартовать. Помогают отложенный запуск и настроенное восстановление: при загрузке машины не хватает ресурсов либо мешает другой компонент. |
| 1067 | Процесс неожиданно завершился | Служба падает при старте. Частая причина: конфликт с драйвером ридера или с фильтром средства защиты. |
| 1075 | Зависимая служба не существует или отключена | RPC или Plug and Play выключены, либо испорчен список зависимостей. |
При подозрении на повреждённую конфигурацию проверьте ветку реестра HKLM\SYSTEM\CurrentControlSet\Services\SCardSvr. Параметр Start: 2 - автоматически, 3 - вручную, 4 - отключена. Параметр DependOnService должен содержать RpcSs и PlugPlay. Перед правкой сделайте экспорт ветки: regedit, меню «Файл», «Экспорт», чтобы был путь назад.
Проверка зависимостей и прав доступа
Зависимости видны в services.msc на вкладке «Зависимости»: сверху перечислены службы, нужные самой SCardSvr, снизу те, что зависят от неё, включая CertPropSvc и ScDeviceEnum.
Учётная запись запуска по умолчанию - NT AUTHORITY\SYSTEM. На машинах, прошедших через скрипты hardening, SYSTEM иногда вылетает из списка «Вход в качестве службы», и тогда служба не стартует из-за отсутствия прав. Лечится возвратом LocalSystem на вкладке «Вход» и восстановлением права «Вход в качестве службы» для SYSTEM в secpol.msc, раздел «Локальные политики», пункт «Назначение прав пользователя».
Анализ журнала событий Windows для поиска причины
eventvwr.msc, «Журналы Windows», «Система», «Фильтр текущего журнала», затем в поле источника указать Service Control Manager и Smart Card Service. Типовые записи: 7000 (служба не запустилась из-за зависимости), 7023 (служба завершилась с ошибкой), 7031 (служба неожиданно завершилась, будет выполнена попытка перезапуска).
Расшифровка простая. Событие 7000 указывает на проблему зависимостей, искать нужно в состоянии RPC и Plug and Play. События 7023 и 7031 означают падение процесса: смотрите соседние записи от драйвера ридера, КриптоПро CSP и средств защиты, они часто пишут причину раньше, чем SCM.
Установка драйверов для Рутокен и JaCarta без конфликтов
Скачайте драйвер с официального сайта производителя, проверьте разрядность (x64 для современных версий Windows), установите от имени администратора и перезагрузите машину. Для Рутокен это пакет драйверов производителя, для JaCarta - «Единый клиент JaCarta» (JC-Client), который включает драйверы ридера и вспомогательные модули.
Если на руках только INF-файлы, драйвер ставится вручную: правой кнопкой по устройству в Диспетчере устройств, «Обновить драйвер», «Найти драйверы на этом компьютере», указать папку с файлами .inf. Тот же приём описан для других категорий оборудования, например для PCI-устройств (пример установки драйвера по идентификатору оборудования). Перед этим полезно открыть вкладку «Сведения»: в аппаратном идентификаторе вида VEN_8086&DEV_0535 часть VEN_ указывает производителя, DEV_ - модель, и это помогает отличить нужное устройство от соседнего (разбор кода оборудования).
После установки в Диспетчере устройств появляется группа «Устройства чтения смарт-карт», внутри ридер с именем производителя. Ошибки в свойствах устройства: код 10 (устройство не запускается), код 52 (Windows не может проверить цифровую подпись драйвера). Второй код типичен для машин с включённой целостностью памяти и требует подписанной версии драйвера.
Сбои драйверов в нестандартных сборках Windows разобраны отдельно: совместимость драйверов в кастомных сборках - карантин Защитника, исключения без отключения защиты, ручная установка с официальных сайтов.
Как проверить цифровую подпись драйвера и избежать подделок
Свойства файла драйвера, вкладка «Цифровые подписи»: в списке должен быть издатель, связанный с производителем (Актив для Рутокен, Аладдин Р.Д. для JaCarta), и действующая метка времени. Пустой список или незнакомый издатель - повод не запускать установщик. В PowerShell то же показывает команда Get-AuthenticodeSignature с путём к файлу: статус Valid или NotSigned.
Скачивайте драйверы только с официальных сайтов производителей и проверяйте файл антивирусом перед запуском. Подмена установщика драйвера - рабочий способ доставить в систему код с максимальными правами, и токены здесь излюбленная цель. По этой же причине не стоит брать драйверы токенов из сторонних файловых архивов.
Порядок установки при наличии нескольких токенов
Правило одно: один производитель за шаг, между шагами проверка. Ставим драйвер Рутокен, подключаем токен, убеждаемся, что сертификат виден. Затем ставим JC-Client и снова проверяем. Если пакеты поставить поверх друг друга без проверок, конфликт ридеров проявится кодами 10 и 52 в Диспетчере устройств, а иногда и отказом SCardSvr стартовать.
Частый сценарий: на машине остался JC-Client предыдущей версии, сверху поставили драйверы Рутокен, после перезагрузки служба смарт-карт не поднялась. Лечится чистой последовательностью: удалить оба пакета, перезагрузиться, удалить оставшиеся устройства чтения смарт-карт в Диспетчере устройств (включая скрытые, через меню «Вид», пункт «Показать скрытые устройства»), снова перезагрузиться и установить драйверы заново с проверкой после каждого шага.
Настройка политики запуска службы смарт-карт
Для машины, где токены используются постоянно, рабочая конфигурация - «Автоматически (отложенный запуск)». Отложенный старт убирает борьбу за ресурсы при загрузке, из-за которой и появляется ошибка 1053. Если токен подключают редко, можно оставить «Вручную» и полагаться на триггер, но первый доступ к карте после загрузки будет сопровождаться задержкой и ошибкой чтения в приложении.
Восстановление настраивается на вкладке «Восстановление»: первый сбой - «Перезапуск службы», второй сбой - «Перезапуск службы», последующие сбои - «Перезапуск службы», «Сброс счётчика отказов» - 1 день, «Перезапуск службы через» - 1 минута. С такой настройкой короткий отказ драйвера не оставит пользователя без подписи до перезагрузки.
Сопутствующие службы тоже держите включёнными: «Смарт-карта (удаление сертификата)» нужна для входа по карте и копирования сертификатов в хранилище пользователя, «Перечисление смарт-карт» ускоряет определение подключённых устройств.
Отключать SCardSvr «для экономии ресурсов» на рабочих станциях с ЭЦП нельзя. Без неё криптопровайдер не увидит токен, а оснастка «Сертификаты» покажет пустой список. Экономия измеряется миллисекундами, простой пользователя - часами работы.
Применение настроек через групповую политику (GPO)
В домене настраивать каждую машину руками не нужно. Путь в редакторе групповых политик: Computer Configuration, Policies, Windows Settings, Security Settings, System Services, Smart Card. Здесь задаётся режим запуска службы и права доступа к ней. Политика применяется при загрузке машины и перезаписывает локальные настройки, поэтому локальные правки на управляемых узлах смысла не имеют.
Чтобы политика не сломала уже работающие машины, вводите её поэтапно: сначала отдельная OU с пилотной группой, затем расширение на остальные. На парке в несколько десятков машин это даёт единый тип запуска и одинаковые права, а значит одинаковое поведение ЭЦП у всех пользователей.
Проверка работоспособности токена через оснастку «Сертификаты» и утилиты производителя
Базовый тест: Win+R, команда certmgr.msc, раздел «Личные», подраздел «Сертификаты». Если токен исправен, драйвер установлен и служба смарт-карт работает, сертификат появится в списке. Для сертификатов компьютера используется оснастка certlm.msc. Двойной щелчок по сертификату открывает карточку со сроком действия, издателем и признаком наличия закрытого ключа: строка про имеющийся закрытый ключ подтверждает, что ключ читается с токена.
Встроенных средств хватает не всегда, поэтому производители дают свои утилиты. «Рутокен Плагин» и панель управления Рутокен показывают подключённые устройства, версию драйвера, список ридеров и сертификатов. «Единый клиент JaCarta» содержит утилиту для тестирования устройства и просмотра его состояния. Разница видна сразу: если утилита производителя токен видит, а certmgr.msc нет, проблема в службе смарт-карт или криптопровайдере, а не в железе.
Тест подписи через КриптоПро CSP
Откройте панель управления «КриптоПро CSP», вкладка «Сервис», кнопка «Протестировать», выберите сертификат и введите PIN. Второй путь: на вкладке «Общие» нажать «Просмотреть сертификаты в контейнере» и пройти мастер до конца. Если тест не проходит, проверяйте по цепочке: служба смарт-карт запущена, драйвер установлен, ридер виден в Диспетчере устройств, срок сертификата не истёк, PIN верный.
JaCarta с ГОСТ-криптографией требует связки с КриптоПро CSP версии 5.0 и выше: на старых выпусках CSP устройство может не определиться как носитель ключа. Если кроме подписи нужен вход по смарт-карте, проверьте, что сертификат пользователя лежит не только на токене, но и в личном хранилище на машине.
Типовые конфликты при внедрении электронной подписи и их решение
| Симптом | Вероятная причина | Что делать |
|---|---|---|
| «Нет доступных сертификатов» | Служба смарт-карт остановлена, сертификат не записан на токен, выбран не тот криптопровайдер | Проверить состояние SCardSvr, список сертификатов в утилите производителя, порядок криптопровайдеров |
| «Устройство не найдено» | Драйвер не установлен, порту USB не хватает питания, ридер в состоянии ошибки | Переустановить драйвер, сменить порт и кабель, посмотреть код ошибки в Диспетчере устройств |
| Ридер исчез после перезагрузки | Конфликт версий драйверов двух производителей, вмешательство антивируса | Выполнить чистую переустановку драйверов, добавить исключения |
| Подпись проходит, вход по карте нет | Не работает «Смарт-карта (удаление сертификата)» либо нет политики входа | Проверить CertPropSvc и настройки политики входа по смарт-карте |
Отдельная категория - сбои после обновлений Windows. Патчи меняют поведение фильтров безопасности и драйверов, и первым у пользователя отказывает токен и вход в систему. Порядок проверки после обновления разобран в материале про ошибку аутентификации после обновления: версии, конфигурация, токены, сессии, журналы, политики безопасности.
Конфликт с антивирусом и средствами защиты
Антивирусы и EDR с модулями контроля устройств умеют блокировать доступ к смарт-картам: перехват идёт на уровне фильтра драйвера, поэтому внешне это выглядит как отказ службы. Kaspersky, ESET и другие продукты требуют добавления в исключения службы смарт-карт и процессов криптопровайдера. В Защитнике Windows проверьте Controlled Folder Access и правила блокировки периферии, а в домене - политики установки устройств: запрет установки устройств блокирует ридеры целиком, и никакая настройка службы это не обойдёт.
Практический порядок при конфликте: остановить службу смарт-карт, удалить драйверы токенов, перезагрузиться, добавить исключения, установить драйверы заново, запустить службу и проверить сертификат. Так вы отделяете проблему средства защиты от проблемы драйвера и не боретесь с двумя причинами одновременно.
Безопасное внедрение токенов в существующую инфраструктуру
Порядок, который снижает риск сломать рабочую среду: тестовый стенд, затем пилотная группа, затем остальные машины. На стенде повторяют конфигурацию рабочей машины: та же версия Windows, тот же антивирус, та же версия КриптоПро CSP, тот же набор токенов. Всё, что не проверено на стенде, в продакшен не идёт.
Поэтапность важна ещё и потому, что драйверы токенов работают на уровне ядра: неудачная версия способна привести к отказу загрузки. Откат в таком случае делается через точку восстановления или среду восстановления Windows, поэтому точки восстановления создают заранее.
Создание точки восстановления и резервной копии реестра
Точка восстановления: sysdm.cpl, вкладка «Защита системы», выбрать диск, кнопка «Создать». Перед массовой установкой драйверов это занимает пару минут и сохраняет состояние реестра и системных файлов.
Резервная копия реестра: regedit, меню «Файл», «Экспорт», режим «Весь раздел», ветка HKLM\SYSTEM\CurrentControlSet\Services. В копию попадут параметры SCardSvr, ScDeviceEnum и CertPropSvc, то есть всё, что вы будете править.
Откат изменений: удалить драйверы токенов через установку и удаление программ, очистить скрытые устройства в Диспетчере устройств, импортировать экспортированные ветки реестра и перезагрузиться. Если система не загружается, используйте точку восстановления или загрузку в безопасном режиме.
Актуальность инструкции для Windows 10/11 и серверных ОС в 2026 году
Описанные механизмы одинаковы в Windows 10 22H2, Windows 11 24H2, Windows Server 2019 и 2022: та же служба SCardSvr, та же ветка реестра, те же коды ошибок. Различаются детали. В Windows 11 24H2 усилен контроль подписей драйверов и целостности памяти, поэтому старые неподписанные драйверы токенов не устанавливаются без отключения защиты, а отключать её на рабочих машинах не стоит. Снимать ограничение имеет смысл только при наличии подписанной версии драйвера у производителя.
В серверных редакциях служба присутствует по умолчанию, но тип запуска стоит «Вручную». На терминальных серверах, где пользователи работают с токенами, переводите её на «Автоматически (отложенный запуск)». Состав компонентов и ролей отличается по редакциям, поэтому перед изменением состава сверяйтесь с документацией производителя токена и Microsoft для конкретной сборки.
Windows 7 и 8.1 больше не получают обновления безопасности, и новые версии драйверов токенов для них не выпускаются. Приведённые шаги там работают с оговорками, но использовать эти системы для работы с ЭЦП не следует.
Ещё один фактор 2026 года - регулярные обновления Windows. Перед установкой свежего накопительного пакета на парк с токенами проверьте его на пилотной группе. Разбор одного из таких обновлений с известными проблемами и планом развёртывания: KB5079473, сборка 26200.8037.
Начните с одной машины: проверьте состояние SCardSvr, поставьте актуальный драйвер производителя, убедитесь, что сертификат виден в certmgr.msc, а тест подписи в КриптоПро CSP проходит. Только после этого переносите конфигурацию в домен через групповую политику.