К статье
Практический материал

Администрирование · 11 мин

Как добавить сертификат ЭЦП в хранилище сертификатов 1С

Пошаговая инструкция по добавлению сертификата электронной подписи в хранилище 1С: установка криптопровайдера, импорт сертификата, проверка и устранение ошибок.

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

Добавление сертификата состоит из нескольких этапов: установки криптопровайдера (КриптоПро CSP или ViPNet CSP), импорта сертификата в хранилище операционной системы или в сам контейнер ключа и последующей настройки в 1С. Пропуск любого шага — самая частая причина того, что подпись не работает.

Материал подходит для типовых конфигураций (1С:Бухгалтерия, 1С:ЗУП, 1С:Управление торговлей и других), где используется встроенная подсистема электронной подписи, а также для программ «1С-Отчётность» и «1С-ЭДО». Точные названия пунктов меню могут немного отличаться в зависимости от версии конфигурации.

Что понадобится перед началом работы

Перед добавлением сертификата проверьте наличие трёх компонентов. Первый — сам сертификат: файл с расширением .cer (открытая часть) и закрытый ключ, который хранится на токене (Рутокен, eToken, JaCarta), в реестре компьютера или на съёмном носителе. Без закрытого ключа сертификат можно добавить, но подписывать документы им не получится.

Второй компонент — криптопровайдер: КриптоПро CSP или ViPNet CSP с действующей лицензией. Именно криптопровайдер обеспечивает работу с ГОСТ-алгоритмами, поэтому без него Windows и 1С не смогут использовать сертификат для подписания. Убедитесь, что версия криптопровайдера совместима с вашей версией Windows — эту информацию публикуют разработчики СКЗИ.

Третий компонент — права администратора на компьютере. Установка криптопровайдера и запись сертификата в контейнер требуют повышенных привилегий. Если вы работаете в терминальной сессии или на сервере 1С, согласуйте действия с системным администратором заранее.

Установка криптопровайдера и проверка лицензии

Установите КриптоПро CSP или ViPNet CSP с дистрибутива, полученного у поставщика СКЗИ. После установки перезагрузите компьютер — это требование большинства версий криптопровайдеров. Затем откройте панель управления криптопровайдером и проверьте срок действия лицензии: просроченная или демонстрационная лицензия с истёкшим периодом приведёт к ошибкам при подписании.

Если ключ хранится на токене, дополнительно установите драйверы носителя: для Рутокена — «Панель управления Рутокен», для eToken — соответствующее ПО SafeNet. Подключите токен и убедитесь, что он определяется системой и в панели управления виден контейнер с ключом.

Импорт сертификата в хранилище Windows

1С при работе с подписью обращается к системным хранилищам сертификатов Windows, поэтому сертификат нужно установить именно туда. Самый надёжный способ — установка через криптопровайдер, потому что при этом автоматически создаётся привязка к закрытому ключу.

Установка через КриптоПро CSP

Откройте КриптоПро CSP, перейдите на вкладку «Сервис» и нажмите «Просмотреть сертификаты в контейнере». Укажите контейнер (на токене или в реестре), нажмите «Свойства» и затем «Установить сертификат». Мастер поместит сертификат в хранилище «Личные» текущего пользователя с привязкой к закрытому ключу.

Установка через файл .cer

Если контейнер уже настроен, можно дважды щёлкнуть по файлу .cer и выбрать «Установить сертификат». Поместите его в хранилище «Личные» (Personal). Однако при ручной установке привязка к закрытому ключу может не создаться — тогда сертификат будет виден в системе, но подписывать им не получится. Проверить привязку можно в оснастке certmgr.msc: у сертификата с закрытым ключом в описании есть строка «Есть закрытый ключ для этого сертификата».

Порядок добавления сертификата
  1. 1
    Установите криптопровайдер и драйверы токена, перезагрузите компьютер
  2. 2
    Подключите токен с закрытым ключом
  3. 3
    Установите сертификат в хранилище «Личные» через КриптоПро CSP или из файла .cer
  4. 4
    Проверьте в certmgr.msc наличие строки о закрытом ключе
  5. 5
    Откройте 1С и добавьте сертификат в настройках электронной подписи
  6. 6
    Выполните тестовое подписание документа

Добавление сертификата в настройках 1С

В типовых конфигурациях перейдите в раздел «Администрирование» → «Обмен электронными документами» → «Электронные подписи» (в некоторых конфигурациях путь: «Настройки» → «Электронные подписи и шифрование»). Нажмите «Добавить» → «Из установленных на компьютере» — 1С покажет список сертификатов из хранилища «Личные».

Выберите нужный сертификат и заполните параметры: кому принадлежит подпись (пользователь, организация), для каких операций она применяется — подписание документов, отчётность, ЭДО. В 1С-Отчётности сертификат привязывается к учётной записи абонента в настройках обмена с контролирующими органами.

После добавления нажмите «Проверить» (в ряде конфигураций — «Тест сертификата»). Программа выполнит пробную криптооперацию: если всё настроено верно, появится сообщение об успешной проверке. Если токен защищён PIN-кодом, система запросит его при первой операции.

Если 1С работает в клиент-серверном режиме и подписание выполняется на сервере, сертификат и криптопровайдер должны быть установлены именно на сервере 1С, а не на компьютере пользователя. Уточните в настройках программы, где выполняются криптооперации — «на клиенте» или «на сервере».
ПЗ
Практическое замечание

Проверка результата

Окончательная проверка — реальная операция подписания. Создайте тестовый документ (например, черновик электронного документа в ЭДО или тестовую отчётную форму) и подпишите его. Успешное подписание без запроса дополнительных настроек означает, что вся цепочка — токен, криптопровайдер, хранилище, 1С — работает корректно.

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

Контрольные точки

Как проверить результат

Сертификат в certmgr.msc
Норма

Есть пометка «Есть закрытый ключ для этого сертификата»

Тревожный признак

Пометки нет — привязка к контейнеру не создана

Тест сертификата в 1С
Норма

Сообщение об успешной проверке

Тревожный признак

Ошибка «сертификат не найден» или «нет доступа к закрытому ключу»

Путь сертификации
Норма

Цепочка до корневого УЦ без ошибок

Тревожный признак

Красные отметки — не установлен корневой сертификат УЦ

Частые ошибки и способы их устранения

Ошибка «Сертификат не найден» при попытке добавить его в 1С обычно означает, что сертификат установлен в хранилище другого пользователя Windows или в хранилище компьютера, а не текущего пользователя. Переустановите сертификат под той учётной записью, под которой работает 1С (или служба сервера 1С).

Ошибка «Не удалось получить закрытый ключ» возникает, когда сертификат импортирован из файла .cer без привязки к контейнеру, либо токен не подключён или не определяется. Решение: подключите токен, проверьте его в панели управления и переустановите сертификат через КриптоПро CSP способом, описанным выше.

Если криптооперации завершаются ошибкой лицензии СКЗИ, проверьте срок действия лицензии криптопровайдера в его панели управления. Встроенная лицензия, вшитая в сертификат некоторых удостоверяющих центров, работает только при использовании соответствующего носителя и версии СКЗИ — уточните условия в вашем УЦ.

Типичные ошибки
01
Установка только файла .cer без привязки к контейнеру — подписание невозможно
02
Установка сертификата под другой учётной записью Windows — 1С его не видит
03
Работа без перезагрузки после установки криптопровайдера — СКЗИ функционирует некорректно
04
Добавление сертификата на клиенте, когда криптооперации выполняются на сервере 1С
05
Игнорирование отсутствия корневого сертификата УЦ — ошибки проверки подписи у получателей

Ограничения и особые сценарии

При работе в веб-клиенте 1С криптооперации требуют установки расширения работы с криптографией для браузера и локального криптопровайдера на компьютере пользователя. Если расширение не установлено, 1С предложит его при первой попытке подписания — согласитесь и перезапустите браузер.

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

Облачные сервисы (например, подписание через сервисы 1С с хранением ключей в облаке) работают по другой схеме и не требуют локальной установки сертификата в хранилище. Если вы используете такой сервис, настройка выполняется через мастер подключения в самой программе, а не через системное хранилище.

Маршрут решения

Как выбрать действие

1С не видит сертификат в списке при добавленииПроверьте, что сертификат в хранилище «Личные» текущего пользователя и криптопровайдер установлен
Сертификат виден, но подписание завершается ошибкой ключаПереустановите сертификат через КриптоПро CSP с привязкой к контейнеру и проверьте подключение токена
Работаете в клиент-серверном режиме с криптооперациями на сервереУстановите СКЗИ, токен и сертификат на сервере 1С под учётной записью службы агента
Используете веб-клиентУстановите расширение работы с криптографией для браузера и локальный криптопровайдер
Итог

Что важно запомнить

Рабочая цепочка выглядит так: криптопровайдер → токен с закрытым ключом → сертификат в хранилище «Личные» с привязкой к ключу → добавление и проверка в 1С. Большинство проблем решается правильной установкой сертификата через КриптоПро CSP и проверкой, под какой учётной записью и на каком компьютере выполняются криптооперации.

Частые вопросы

Можно ли добавить сертификат в 1С без токена?

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

Почему сертификат виден в Windows, но не отображается в 1С?

Наиболее вероятные причины: сертификат установлен в хранилище другого пользователя или в хранилище компьютера вместо «Личные», не установлен или не запущен криптопровайдер, либо 1С выполняет криптооперации на сервере, где сертификат отсутствует. Проверьте эти три точки последовательно.

Нужно ли заново добавлять сертификат после его перевыпуска?

Да. Новый сертификат — это новый объект с другим отпечатком, даже если реквизиты владельца не изменились. Установите его в хранилище с привязкой к новому контейнеру ключа и обновите привязку в настройках 1С, в 1С-Отчётности и в учётных записях ЭДО.

Сколько сертификатов можно добавить в 1С?

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

Что делать, если при подписании запрашивается PIN-код токена много раз подряд?

Это нормальное поведение при настройках безопасности по умолчанию: PIN запрашивается на каждую криптооперацию или сессию. В панели управления криптопровайдером или токена можно настроить запоминание PIN на время сеанса, но не отключайте запрос полностью — это снижает защиту ключа.

Можно ли перенести закрытый ключ с одного токена на другой?

Только если при генерации ключа был разрешён экспорт. Большинство ключей, выпущенных аккредитованными УЦ для квалифицированной подписи, создаются неэкспортируемыми — в этом случае перенос невозможен, и для нового носителя потребуется перевыпуск сертификата.