Как привязать сертификат ЭП к закрытому ключу в КриптоПро CSP
Привязка сертификата выполняется установкой личного сертификата через КриптоПро CSP с указанием контейнера соответствующего закрытого ключа. В статье — два способа установки, инструкции для токена и для ключа на диске, а также разбор ошибки «В контейнере закрытого ключа отсутствуют сертификаты» и ответы на частые вопросы.
Привязка выполняется установкой личного сертификата через КриптоПро CSP: на вкладке «Сервис» нужно нажать «Установить личный сертификат», выбрать файл сертификата и указать контейнер соответствующего закрытого ключа. Личный сертификат устанавливается в хранилище «Личное». После установки проверьте результат, подписав тестовый документ в программе, которой пользуетесь.
Что именно привязывается и зачем
В электронной подписи участвуют разные объекты, и путаница между ними — главная причина ошибок при установке.
| Объект | Что это | Где находится |
|---|---|---|
| Закрытый ключ | Секретная часть пары ключей, которой создается подпись | Контейнер на токене, флеш-накопителе, жестком диске или в реестре |
| Контейнер | Хранилище закрытого ключа | Ключевой носитель |
| Сертификат | Содержит данные владельца, срок действия и открытый ключ | Файл от удостоверяющего центра; после установки — хранилище «Личное» |
| PIN-код | Защита доступа к токену или контейнеру | Используется при обращении к защищенному носителю |
Сертификат содержит открытый ключ, которому соответствует закрытый ключ. Сертификат без соответствующего закрытого ключа не позволяет подписать документ. При установке нужно связать сертификат именно с его ключом: выбор другого контейнера не создает новую пару. Привязкой называют установку сертификата в хранилище «Личное» со ссылкой на контейнер, в котором лежит парный ему закрытый ключ.
Ключевым носителем может быть токен, жесткий диск компьютера или реестр. Способ привязки зависит от того, где лежит контейнер, но сама последовательность действий одна.
Что подготовить до установки
- КриптоПро CSP. Откройте меню «Пуск», найдите КриптоПро CSP и запустите программу. Если программы нет, установите ее перед привязкой сертификата. Инструкция ниже относится к интерфейсу КриптоПро CSP; установку драйвера токена выполняют отдельно.
- Файл сертификата. Подготовьте файл, полученный от удостоверяющего центра. Если его прислали в архиве по почте, сохраните сертификат из архива в любую удобную папку. Для установки из контейнера отдельный файл не нужен, если сертификат уже находится в нем.
- Доступ к контейнеру. Токен вставлен в USB-порт до конца, флеш-накопитель подключен, а при хранении ключа на диске или в реестре известно, под каким именем создан контейнер.
- Драйвер токена, если ключ записан на токен.
Если ключ на токене
Прежде чем система начнет работать с токеном, нужен драйвер именно этого устройства. Драйверы выпускают производители:
- Рутокен: https://www.rutoken.ru/support/download/drivers-for-windows/
- eToken: https://www.aladdin-rd.ru/support/downloads/etoken
- JaCarta: https://www.aladdin-rd.ru/support/downloads/jacarta
Алгоритм простой: скачать драйвер и установить его. Для работы с носителем может понадобиться PIN-код. Заводской код используйте только для своей модели и только если известно, что его не меняли. Токен должен быть вставлен до конца, а кабели и удлинители — надежно закреплены. Если контейнер не отображается, сначала проверьте подключение носителя и наличие его драйвера.
Если ключ в виде файлов на флеш-накопителе или диске
Если закрытый ключ хранится на флеш-накопителе, диске или в реестре, при установке нужно выбрать соответствующий контейнер. Через «Обзор» ищите контейнер закрытого ключа, а не файл сертификата: это разные объекты. Файл сертификата выбирают в начале установки, контейнер — на следующем этапе. Если контейнер не находится, проверьте доступность носителя и соответствие сертификата выбранному ключу, как описано ниже.
Способ 1. Через «Установить личный сертификат»
Этот способ подходит, когда у вас есть файл сертификата и доступен контейнер с ключом.
- Запустите КриптоПро CSP через меню «Пуск» или «Панель управления».
- Откройте вкладку «Сервис».
- Нажмите «Установить личный сертификат».
- Через кнопку «Обзор» укажите путь к файлу сертификата и нажмите «Далее».
- Откроется информация о сертификате. Проверьте владельца и срок действия и нажмите «Далее».
- На шаге выбора контейнера найдите контейнер закрытого ключа. Это можно сделать автоматически или вручную через «Обзор». При ручном выборе нужен контейнер именно того ключа, для которого выпущен сертификат; произвольный контейнер не подойдет.
- Нажмите «Далее». Если запросят PIN-код токена или контейнера, введите его.
- Личный сертификат пользователя устанавливается в хранилище «Личное». Завершите установку по сообщениям мастера.
- Дождитесь сообщения об успешном завершении процедуры. Если вместо него появилась ошибка, переходите к проверкам ниже.
После успешной установки сертификат появится в хранилище «Личное» связанным с выбранным закрытым ключом. Затем проверьте его в программе, в которой будете подписывать документы.
Способ 2. Установка сертификата из контейнера
Способ удобен, когда файла сертификата нет или он потерян, а в контейнере сертификат сохранен вместе с ключом.
- Откройте КриптоПро CSP и перейдите на вкладку «Сервис».
- Откройте просмотр сертификатов в контейнере.
- Нажмите «Обзор» и выберите контейнер. Если ключ на флеш-накопителе, программа предложит указать его расположение — выберите нужный носитель и нажмите «Далее».
- Откроется предварительный просмотр сертификата. Перед установкой убедитесь, что это нужный сертификат: проверьте владельца и срок действия.
- Выполните установку сертификата из выбранного контейнера и дождитесь сообщения о завершении процедуры.
Если программа сообщает, что в контейнере сертификатов нет, переходите к способу 1 и устанавливайте сертификат из файла. Причины этой ситуации разобраны ниже.
Как проверить, что привязка выполнена
Сначала убедитесь, что установка завершилась успешно и программа не сообщила об ошибке выбора контейнера. Затем попробуйте подписать тестовый документ в программе, которой пользуетесь. Успешное подписание подтверждает, что программа смогла использовать сертификат и соответствующий закрытый ключ.
Появление сертификата в списке или запрос PIN-кода еще не подтверждают успешное подписание. Если операция завершается ошибкой, запишите ее текст: сообщение об отсутствии сертификата в контейнере и проблема доступа к носителю требуют разных проверок. Начните с доступности контейнера и выбора соответствующего сертификата.
Ошибка «В контейнере закрытого ключа отсутствуют сертификаты»
Сообщение указывает на отсутствие сертификата при обращении к выбранному контейнеру. Оно не дает основания считать, что сам закрытый ключ утрачен. Носителем может быть токен, жесткий диск или реестр. Ошибка встречается в таких ситуациях:
- при первичной установке сертификата;
- при экспорте данных на внешний носитель;
- при попытке просмотреть ключи в контейнерах;
- при загрузке информации на компьютер извне.
Для устранения ошибки установите сертификат вручную тем способом, который описан выше: через «Сервис» → «Установить личный сертификат» с указанием файла сертификата и соответствующего контейнера. Этот вариант требует, чтобы сам контейнер был доступен.
Если ошибка осталась
Проверьте по порядку:
- Носитель. Осмотрите токен на внешние повреждения, вставьте его до упора, закрепите кабели и удлинители. Убедитесь, что подключен именно тот носитель, на котором находится нужный контейнер.
- Драйвер токена. Если устройство не определяется в системе, установите драйвер производителя (ссылки выше). После этого повторите поиск контейнера в КриптоПро CSP.
- Соответствие сертификата и контейнера. Файл сертификата должен относиться именно к этому закрытому ключу. Если выбрали другой контейнер, повторите поиск автоматически или вручную через «Обзор». Не заменяйте нужный контейнер произвольным только потому, что он отображается в списке.
- КриптоПро CSP. Убедитесь, что программа установлена и запускается. Если носитель доступен, но ошибка сохраняется, уточните подходящую для вашего окружения версию перед обновлением программы.
- Удостоверяющий центр. Если ничего не помогло, обратитесь в удостоверяющий центр, где выпущен сертификат. Передайте точный текст ошибки и сообщите, виден ли контейнер и какой способ установки вы использовали.
Установка сертификата в КриптоАРМ ГОСТ
Если вместо КриптоПро CSP вы работаете в КриптоАРМ ГОСТ, установку сертификата из контейнера можно выполнить в его интерфейсе. Откройте раздел работы с ключами в меню сертификатов: там отображаются подключенные хранилища контейнеров закрытых ключей. Выберите нужный контейнер и выполните установку находящегося в нем сертификата. Если сертификата в контейнере нет, для установки потребуется его файл.
Частые причины неудачной привязки
| Симптом | Вероятная причина | Что делать |
|---|---|---|
| Контейнер не находится при автоматическом поиске | Носитель не определился или не подходит контейнер | Переподключить токен, проверить драйвер, выбрать контейнер вручную через «Обзор» |
| Просьба ввести PIN-код, который не подходит | Используется неверный код доступа к этому носителю | Использовать известный PIN своего носителя; заводской — только если его не меняли. Если код неизвестен, обратиться за помощью, не подбирать его |
| Сертификат в «Личном» есть, но подписать нельзя | Возможна установка без связи с нужным закрытым ключом | Проверить доступность контейнера и повторить установку с выбором соответствующего ключа |
| При просмотре контейнера сертификат не найден | В выбранном контейнере нет сертификата | Установить сертификат из файла (способ 1), если соответствующий контейнер доступен |
| Ошибка сохраняется после переустановки | Возможны проблемы с носителем, драйвером или выбором контейнера | Проверить подключение и соответствие сертификата ключу; если не помогло, обратиться в удостоверяющий центр |
Если при подписании появляется сообщение об отзыве сертификата, переходите к статье «Сертификат отозван при подписании документа». Удаление старых сертификатов не входит в описанную процедуру привязки: для нее нужны файл сертификата и соответствующий контейнер либо сертификат, уже сохраненный в контейнере.
Ответы на частые вопросы
Можно ли привязать сертификат, если его файла нет?
Да, если сертификат записан в контейнер. Откройте просмотр сертификатов на вкладке «Сервис» в КриптоПро CSP, выберите контейнер и установите сертификат из него. Если в контейнере сертификата нет, обратитесь в удостоверяющий центр за файлом сертификата. Сам выбор контейнера не заменяет установку сертификата: для привязки нужны оба объекта.
Какое хранилище выбрать при установке?
Личный сертификат пользователя устанавливается в хранилище «Личное». Однако наличие сертификата в этом хранилище еще не подтверждает, что программа может использовать нужный закрытый ключ. При установке выберите соответствующий контейнер, а после завершения проверьте результат подписанием тестового документа. Если операция не проходит, начните с доступности носителя и правильности выбора контейнера.
Что значит отметка «Установить сертификат в контейнер»?
Она относится к сохранению сертификата в контейнере закрытого ключа. Это отличается от установки сертификата в хранилище пользователя: при просмотре контейнера программа обращается к сертификату внутри него. Если при таком просмотре появляется сообщение об отсутствии сертификатов, используйте установку из файла с выбором соответствующего контейнера. Наличие ключа не заменяет сам сертификат.
Нужно ли привязывать сертификат заново после переустановки Windows?
Для работы в новой системе подготовьте КриптоПро CSP, драйвер токена, если он используется, и доступ к контейнеру закрытого ключа. Затем установите личный сертификат одним из двух способов: из файла либо из контейнера, если сертификат находится в нем. Если нужный контейнер не отображается, сначала разберите проблему доступа к ключу. Повторная установка одного сертификата ее не устраняет.
Как привязать сертификат, если ключ на токене, а компьютер его не видит?
Сначала установите драйвер токена: для Рутокен, eToken и JaCarta он скачивается у производителя. Затем переподключите токен, убедитесь, что он вставлен до конца, и повторите поиск контейнера в КриптоПро CSP через «Обзор». Если запрашивается PIN, используйте код своего носителя. Заводской код подходит только для соответствующей модели и только если известно, что его не меняли.
Ошибка не исчезла после переустановки сертификата. Что дальше?
Проверьте подключение носителя, наличие драйвера токена и выбор контейнера, соответствующего сертификату. Обновление КриптоПро CSP рассматривайте после этих проверок, с учетом вашего окружения. Если установить сертификат все равно не получается, свяжитесь с удостоверяющим центром. Передайте точный текст ошибки, сведения о носителе и сообщите, отображается ли контейнер при поиске.