Сертификат установлен, токен подключён, но КриптоПро его не показывает — либо показывает, а подписать документ всё равно не получается. Это самая частая ситуация, с которой ко мне обращаются, и почти всегда причина одна: потеряна связь между сертификатом и контейнером закрытого ключа. Разберём, как это проверить и восстановить.
Как выглядит проблема
Формулировки бывают разными, но за ними стоит одна и та же причина. Если видите что-то из списка — статья про ваш случай.
- В окне выбора сертификата список пустой, хотя сертификат установлен
- Сообщение «Нет доступа к закрытому ключу» при попытке подписать
- Ошибка «Набор ключей не существует»
- Сообщение «Контейнер закрытого ключа не найден»
- Ошибка «Закрытый ключ отсутствует» или «Ключ не найден»
- Сертификат виден в хранилище Windows, но не появляется в КриптоПро
Электронная подпись состоит из двух частей: сертификата — это открытая часть, и закрытого ключа — он лежит в контейнере на токене или в реестре. Подписать документ можно только когда обе части связаны. Разные программы сообщают о разрыве этой связи по-разному, отсюда и разные формулировки.
Почему КриптоПро не видит сертификат
Причины по частоте, с которой я встречаю их на практике.
- Сертификат установили файлом, а не из контейнера. Самый частый случай. Файл с расширением .cer содержит только открытую часть. Установка такого файла двойным щелчком создаёт сертификат без привязки к ключу.
- Подпись перенесли на другой компьютер не полностью. Скопировали сертификат, но не контейнер закрытого ключа.
- Токен не определяется системой. Контейнер физически на месте, но КриптоПро до него не дотягивается.
- Истёк срок действия сертификата. Некоторые программы просто перестают его показывать.
- Систему восстановили из образа или откатили. Контейнер в реестре при этом теряется.
- Не установлены корневые сертификаты удостоверяющего центра. Тогда сертификат виден, но помечен как недоверенный.
Решение 1. Установить сертификат из контейнера
Это исправляет большинство случаев. Смысл в том, чтобы КриптоПро сам нашёл сертификат внутри контейнера и установил его уже со связью с закрытым ключом.
- Откройте КриптоПро CSP → вкладка Сервис
- Нажмите Просмотреть сертификаты в контейнере
- Нажмите Обзор и выберите нужный контейнер из списка
- Убедитесь, что данные владельца и срок действия соответствуют вашей подписи
- Нажмите Установить
После этого сертификат появится в личном хранилище уже с привязкой к ключу. Проверьте результат: попробуйте подписать документ или зайти на нужный портал.
Значит КриптоПро не видит носитель, а не сертификат. Переходите к следующему разделу — сначала нужно, чтобы определился сам токен или появился контейнер в реестре.
Решение 2. Проверить, определяется ли носитель
Если подпись хранится на Рутокене или JaCarta, проверьте носитель, прежде чем что-то переустанавливать.
- Индикатор на токене светится после подключения
- Устройство видно в диспетчере устройств Windows без восклицательного знака
- Токен определяется в панели управления Рутокен, если она установлена
- В КриптоПро на вкладке Оборудование → Настроить считыватели присутствует нужный считыватель
Частая причина на новом компьютере — отсутствие драйвера носителя. Windows не ставит его автоматически.
Решение 3. Проверить срок действия
Прежде чем углубляться в настройки, стоит убедиться, что сертификат ещё действует. Срок обычно 12–15 месяцев, и его окончание почти всегда оказывается неожиданностью.
Посмотреть можно там же: КриптоПро CSP → Сервис → Просмотреть сертификаты в контейнере, либо через certmgr.msc → Личное → Сертификаты.
Если срок истёк, настройками это не решается — нужен новый сертификат в удостоверяющем центре.
Решение 4. Проверить цепочку доверия
Бывает, что сертификат виден и выбирается, но система считает его недоверенным. Тогда в свойствах сертификата будет предупреждение о том, что корневой сертификат не найден или цепочку не удалось построить.
Причина — отсутствие корневых сертификатов удостоверяющего центра, который выпустил вашу подпись. Их нужно скачать на сайте своего УЦ и установить в хранилище доверенных корневых центров сертификации.
Если сертификат пропал совсем
Отдельный случай, когда сертификата нет ни в КриптоПро, ни в хранилище Windows. Обычно это следствие переустановки системы, чистки профиля пользователя или работы под другой учётной записью Windows.
Проверьте, что вы вошли в ту же учётную запись, под которой подпись настраивали изначально: контейнеры в реестре привязаны к профилю пользователя.
Не форматируйте токен и не удаляйте контейнер закрытого ключа, пытаясь переустановить подпись «с нуля». Закрытый ключ существует в единственном экземпляре и восстановлению не подлежит. После его удаления потребуется выпуск нового сертификата в удостоверяющем центре — это дольше и дороже любой настройки.
Порядок проверки коротко
- Установить сертификат через Сервис → Просмотреть сертификаты в контейнере
- Убедиться, что носитель определяется системой и виден в считывателях
- Проверить срок действия сертификата
- Установить корневые сертификаты своего удостоверяющего центра
- Проверить, что вы работаете под своей учётной записью Windows
Если после всех шагов сертификат по-прежнему не виден, дальше нужна диагностика на конкретном компьютере: причины начинают накладываться, и по описанию их не разделить. Общий порядок проверки подписи описан в статье ЭЦП не работает: что проверить самостоятельно.