Перенос ЭЦП из 1С: как скопировать контейнер и сертификат
Содержание
Сам закрытый ключ подписи 1С не хранит. Им управляет криптопровайдер — чаще всего это КриптоПро CSP, а контейнер с ключом лежит в реестре Windows, на флешке или на токене. Поэтому «скопировать ЭЦП из 1С» на деле означает перенести на другой компьютер две вещи: контейнер закрытого ключа и сам сертификат.
Самый надёжный путь — скопировать контейнер средствами КриптоПро CSP (вкладка Сервис → кнопка Скопировать), затем установить личный сертификат и выбрать его в настройках 1С. Ручной перенос через реестр тоже возможен, но он привязан к учётной записи Windows и ломается чаще.
Одна оговорка сразу: лицензия КриптоПро на новый компьютер вместе с ключом не переносится — её активируют отдельно. Без действующей лицензии криптопровайдера подпись на новом месте работать не будет.
Что на самом деле переносим: контейнер, сертификат и роль 1С
У электронной подписи две части, и путать их не стоит:
- 🔑 Контейнер закрытого ключа — приватная часть. Именно ею выполняется подписание. Хранится у криптопровайдера: в реестре Windows, на флешке или на токене (Рутокен, eToken).
- 📄 Сертификат — открытая часть (файл
.cer, в Windows опознаётся по отпечатку). Его можно свободно передавать, он привязан к контейнеру. - 🧩 1С — хранит только ссылку на сертификат по отпечатку в справочнике сертификатов ключей электронной подписи. Само подписание 1С передаёт криптопровайдеру.
Отсюда вывод: экспортировать подпись «из самой 1С» нечего. Работаем с хранилищем Windows и с КриптоПро CSP, а в 1С потом просто указываем перенесённый сертификат.
Прежде чем переносить, выясните, где физически лежит контейнер. Откройте панель управления КриптоПро CSP, вкладку Сервис, нажмите Скопировать и Обзор — в списке у каждого контейнера виден носитель: Реестр, имя флешки или имя токена. От этого зависит способ переноса.
| Где лежит контейнер | Как переносить | На что обратить внимание |
|---|---|---|
| Реестр Windows | Копирование через КриптоПро на флешку, затем в реестр нового ПК | Прямой перенос .reg привязан к учётной записи |
| Флешка | Копирование контейнера или прямая работа с флешки | Сделайте резервную копию файла контейнера |
| Токен (Рутокен, eToken) | Физически переставить носитель | Контейнер не копируется, нужен только сертификат |
Что проверить до переноса
Пять минут проверки на старом и новом компьютере избавят от половины ошибок на этапе установки.
Если ключ записан на токен (Рутокен, eToken), копировать контейнер не нужно. Токен физически переставляют в новый компьютер, ставят на нём драйверы носителя и устанавливают сертификат. Способы ниже — для контейнеров в реестре и на флешке.
Посмотреть версию
и лицензию можно в панели управления КриптоПро CSP на вкладке Общие. Номер версии на новом ПК должен быть не ниже того, где ключ создавали: более новая версия прочитает старый контейнер, а вот старая версия контейнер от новой может не открыть. Если на новом компьютере стоит версия ниже — сначала обновите КриптоПро CSP, затем переносите ключ.
Проверьте и срок действия самого сертификата. Если он заканчивается в ближайшие недели, переносить подпись смысла мало — её всё равно придётся перевыпускать, и новый сертификат вы установите уже на нужном компьютере.
Способ 1. Копирование контейнера через КриптоПро CSP
Это штатный и самый безопасный способ. КриптоПро сам корректно перенесёт контейнер, не привязываясь к служебным параметрам системы.
- Откройте панель управления КриптоПро CSP (
Пуск → КриптоПро CSPилиПанель управления → КриптоПро CSP). - Перейдите на вкладку
Сервиси нажмитеСкопировать. - Нажмите
Обзори выберите исходный контейнер из списка. - Задайте имя копии и нажмите далее.
- В качестве носителя-приёмника выберите съёмный диск (флешку), если переносите на другой ПК, либо реестр текущего компьютера, если делаете резервную копию.
- Введите пароль контейнера, при запросе задайте пароль на новую копию.
Удобнее всего скопировать контейнер сразу на флешку. Тогда её несут на новый компьютер и там либо работают прямо с флешки, либо повторяют Скопировать уже в реестр нового ПК.
Имя копии задавайте осмысленное — например, с датой или фамилией владельца. Когда контейнеров несколько, по стандартному длинному имени их не различить, а понятное название избавит от путаницы при установке сертификата.
После копирования убедитесь, что контейнер появился на носителе-приёмнике: снова нажмите Скопировать → Обзор и проверьте, что новая запись видна с нужным именем. Только после этого извлекайте флешку.
Если кнопка Скопировать выдаёт ошибку копирования, ключ, скорее всего, помечен как неэкспортируемый — так часто делают удостоверяющие центры для ГОСТ-ключей. В этом случае перенос средствами КриптоПро невозможен, подпись придётся перевыпускать в УЦ.
Способ 2. Перенос контейнера из реестра Windows
Этот способ применяют, когда контейнеров много или когда штатное копирование недоступно. Он сложнее и менее надёжен, поэтому к нему прибегают во вторую очередь.
Контейнеры, записанные в реестр, КриптоПро хранит в ветке вида:
HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\Users\{SID}\Keys
где {SID} — идентификатор учётной записи Windows. На 64-разрядной системе ветка может находиться внутри Wow6432Node — точное расположение зависит от версии CSP и разрядности, поэтому ориентируйтесь по подразделу Crypto Pro\Settings\Users.
Главная ловушка способа: ветка привязана к SID пользователя. На другом компьютере SID будет другим, и импортированный .reg ключ «не увидит» — контейнер окажется не виден в списке. Именно поэтому Способ 1 предпочтительнее: он от SID не зависит.
Если всё же переносите через реестр:
- На старом ПК откройте
regedit, найдите подразделKeysвнутри веткиCrypto Proдля своего пользователя. - Найдите нужный контейнер (имена длинные, сверяйте по дате или экспортируйте всю папку
Keys). - Экспортируйте раздел в файл
.reg. - На новом ПК откройте
regeditи импортируйте файл, предварительно разместив ключ подSIDтого пользователя, который будет работать с подписью.
Нужный контейнер среди десятков подразделов удобнее находить не в реестре, а через КриптоПро: там у контейнера видно понятное имя и срок действия. Поэтому на практике проще один раз скопировать контейнер на флешку способом 1, чем выверять SID и имена разделов вручную. Способ через реестр оставляют на случай массового переезда, когда контейнеров десятки и копировать каждый кнопкой долго.
Установка сертификата и контейнера на новом рабочем месте
Контейнер перенесён — теперь его нужно связать с сертификатом и установить в хранилище Windows, иначе ни 1С, ни браузер подпись не найдут.
- В панели КриптоПро CSP откройте вкладку
Сервиси нажмитеПросмотреть сертификаты в контейнере. - Через
Обзорвыберите перенесённый контейнер и нажмите далее — откроется сертификат. - Нажмите
Установить— сертификат встанет в хранилищеЛичныетекущего пользователя Windows.
Если сертификат у вас отдельным файлом .cer, используйте на той же вкладке кнопку Установить личный сертификат: укажите файл, затем контейнер, и установите в хранилище Личные.
После установки проверьте связку: вкладка Сервис → Протестировать → выберите контейнер. Если тест проходит без ошибок, закрытый ключ и сертификат связаны верно.
Отдельно установите цепочку доверия, если её ещё нет на новом ПК. Для квалифицированной подписи нужны корневой сертификат удостоверяющего центра и промежуточные сертификаты — их берут на сайте вашего УЦ. Без цепочки сертификат установится, но при подписании 1С выдаст ошибку построения цепочки. Проверить установку можно в оснастке certmgr.msc: ваш сертификат должен появиться в разделе Личные, а сертификаты УЦ — в доверенных корневых и промежуточных центрах.
Если ключ был создан как экспортируемый, его можно перенести одним файлом .pfx через оснастку certmgr.msc (экспорт с закрытым ключом). Но ГОСТ-ключи удостоверяющие центры обычно делают неэкспортируемыми, поэтому в большинстве случаев работает именно копирование контейнера, а не экспорт .pfx.
Как подключить перенесённую подпись в 1С
1С ссылается на сертификат по отпечатку. Если переносите подпись в ту же базу и работаете под тем же пользователем Windows, после установки сертификата подписание заработает без дополнительной настройки — отпечаток не изменился.
Если база другая или пользователь новый, сертификат нужно добавить в настройках. В «1С:Бухгалтерии 3.0» путь такой:
- Откройте
Администрирование → Обмен электронными документами. - В разделе электронной подписи откройте
Настройки электронной подписи и шифрования. - На вкладке
СертификатынажмитеДобавить→Из установленных на компьютереи выберите перенесённый сертификат. - На вкладке
Программыубедитесь, что указан криптопровайдер КриптоПро CSP.
В других типовых конфигурациях раздел называется так же — «Настройки электронной подписи и шифрования» внутри блока обмена электронными документами (название пункта может незначительно отличаться по релизу).
Отдельно про 1С-Отчётность. Если подпись использовалась для сдачи отчётности, после переноса откройте рабочее место 1С-Отчётности и выполните проверку настроек обмена с контролирующими органами. Программа сверит отпечаток установленного сертификата с тем, что был зарегистрирован, и при совпадении отчётность продолжит отправляться с нового компьютера. Перерегистрировать подпись в налоговой при этом не нужно — меняется только рабочее место, а не сам сертификат.
После добавления подпишите любой тестовый документ: если подпись ставится без ошибок, перенос завершён. Перезагружать компьютер или базу 1С для этого не требуется — достаточно, чтобы сертификат и контейнер были доступны текущему пользователю Windows.
Ошибки при переносе и как их устранить
Почти все сбои после переноса сводятся к тому, что контейнер и сертификат не связаны либо установлены не под тем пользователем. Разбор по симптомам:
Просмотреть сертификаты в контейнере и убедитесь, что тест контейнера проходит.Общие панели управления.Программы выбран именно КриптоПро CSP, а не другой криптопровайдер.Безопасность: резервная копия и защита ключа
Закрытый ключ — это и есть ваша подпись. Относитесь к его копиям как к печати организации.
- Перед переносом сделайте резервную копию контейнера на отдельный носитель. Если что-то пойдёт не так, исходный ключ останется цел.
- Задайте пароль на контейнер и не храните флешку с ключом в общей сетевой папке.
- После переноса удалите временные копии контейнера с общих дисков и из папки загрузок.
- Копируйте только свою подпись. Перенос чужой квалифицированной подписи — нарушение: КЭП привязана к владельцу. При увольнении сотрудника его ключ отзывают в УЦ, а не передают другому человеку.
Если контейнер лежит на токене, резервной копии у него по умолчанию нет — ключ существует в единственном экземпляре. Потеря токена означает перевыпуск подписи, поэтому с токеном обращаются особенно аккуратно.