Записки IT специалиста
Перенос сертификатов и закрытых ключей CryptoPro хранящихся в реестре
- Автор: Уваров А.С.
- 21.09.2020
КриптоПро один из наиболее широко используемых криптопровайдеров на территории Российской Федерации, он широко используется в системах электронного документооборота, сдачи отчетности и взаимодействия с государственными органами, поэтому встретить его можно практически в любой организации. По этой причине у системных администраторов часто встает вопрос его переноса на другой ПК. А так как криптография является для многих сложной и непонятной областью, то эта простая задача может вызвать некоторые затруднения.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Если вы ранее не сталкивались с криптографией вообще, то рекомендуем прочитать нашу статью: Введение в криптографию. Общие вопросы, проблемы и решения. Здесь мы не будем углубляться в теорию, но приведем некоторый необходимый ликбез.
В повседневной деятельности широко распространено понятие «сертификат», им оперируют все, от сотрудников удостоверяющих центров, то бухгалтеров, работающих с ЭЦП. Часто можно услышать что-то подобное: «нам купили в бухгалтерию новый компьютер, нужно перенести сертификаты». Но если подходить с точки зрения криптографии, то слово «сертификат» в данном случае употребляется неправильно. Вся современная криптография строится вокруг инфраструктуры открытых ключей (PKI), которая подразумевает наличие у каждого участника ключевой пары: открытого и закрытого ключа.
Закрытый ключ является секретным, с его помощью мы можем подписывать документы, шифровать информацию и т.д. и т.п. Закрытый ключ Усиленной квалифицированной электронной подписи (УКЭП) равнозначен нотариально заверенной подписи и его попадание в чужие руки может привести к самым тяжелым последствиям.
Открытый ключ, дополненный некоторыми дополнительными данными, выпускается в форме сертификата и является публично доступным, с его помощью можно проверить действительность цифровой подписи, выполненной закрытым ключом или убедиться в подлинности участника обмена электронными документами.
Поэтому, когда мы говорим о переносе «сертификатов», то подразумеваем необходимость перенести ключевую пару: закрытый ключ и сертификат, перенос одних только сертификатов не принесет успеха, криптография на новом узле работать не будет.
Выяснив этот момент, перейдем к хранилищам закрытых ключей. КриптоПро предполагает в таком качестве токены, флеш-накопители и системный реестр. Токены являются наиболее защищенными устройствами, извлечь закрытый ключ из них невозможно, и вы можете не опасаться несанкционированного копирования (для этого закрытый ключ должен быть помечен как неэкспортируемый). Флеш-накопители представляют некий компромисс между безопасностью и мобильностью, а реестр удобен в тех случаях, когда на одном ПК нужно одновременно работать с большим количеством ключей. И именно с ним связаны определенные сложности при переносе на другой узел.
Экспорт ключей и сертификатов
Для того, чтобы правильно экспортировать закрытые ключи, нам нужно выяснить идентификатор безопасности ( SID) текущего пользователя (который работает с ЭЦП), это можно сделать командной:
![]()
Затем откроем редактор реестра и перейдем в ветку для 32-битных систем:
для 64-битных систем:
Найдем и раскроем раздел с SID текущего пользователя и экспортируем оттуда ветку Keys.
![]()
Обратите внимание, что данная ветка содержит закрытые ключи, поэтому следует принять все меры безопасности и не передавать файл экспорта по открытым каналам связи и вообще исключить к нему несанкционированный доступ посторонних лиц.
После чего скопируем все сертификаты, расположенные по пути
Это открытые ключи, никакой секретности они не представляют, поэтому просто копируем их любым доступным способом.
Импорт ключей и сертификатов
Прежде всего установим на новый узел КриптоПро, обратите внимание, что переносить ключи и сертификаты следует между одинаковыми версиями. В противном случае либо обновите версию КриптоПро на старой системе, либо установите старую версию на новой и обновите ее уже после переноса ключевых пар.
Затем снова узнаем SID пользователя, который будет работать с ЭЦП, если это текущий пользователь, то снова выполните:
В противном случае:
где Name — имя пользователя.
После чего откройте на редактирование файл реестра с экспортированными закрытыми ключами и замените в нем все вхождения старого SID на SID нового пользователя.
![]()
Сохраните файл и импортируйте его в реестр. Закрытые ключи перенесены, файл переноса в целях безопасности следует удалить.
Следующим шагом скопируйте сохраненные сертификаты в
После чего можно устанавливать и настраивать приложения работающие с криптографией, все будет работать.
Как быть если доступ к старой системе невозможен?
Теория — это хорошо, но практика может подкинуть самые неожиданные ситуации. Как быть, если доступ к старой системе невозможен? Скажем вышла из строя материнская плата или серьезно повреждена операционная система?
Все что нам нужно в таком случае — это доступ к файловой системе старой системы. Вы можете как напрямую подключить жесткий диск к новой системе, так и загрузиться при помощи консоли восстановления или любого более продвинутого инструмента, скажем MSDaRT.
С копированием сертификатов проблемы возникнуть не должно, их хранилище простая папка на диске, а вот с хранилищем закрытых ключей в реестре немного сложнее. Но не будем забывать, что системный реестр тоже хранится в файлах на диске. Вам следует любым доступным образом скопировать файл SOFTWARE из C:\Windows\System32\config
![]()
Затем на целевой системе откройте редактор реестра, перейдите в раздел HKEY_LOCAL_MACHINE и через Файл — Загрузить куст подключите скопированный из старой системы раздел реестра. Дайте ему осмысленное имя, скажем OLD_SOFTWARE.
![]()
После чего пройдите в раздел с закрытыми ключами (с учетом новой точки монтирования) и выполните экспорт ветки Keys.
![]()
Дальнейшие действия ничем не отличаются от описанных нами в разделе Импорт ключей и сертификатов.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
![]()
Или подпишись на наш Телеграм-канал: ![]()
Как скопировать сертификат из реестра на флешку
Друзья, приветствую вас на WiFiGid. Относительно недавно с требованием для отчетности ИП получить электронную подпись в налоговой, стал счастливым обладателем сертификата. А как любитель сделать на всякий пожарный лишнюю резервную копию, захотел показать, как можно скопировать сертификат из реестра КриптоПРО (или с рутокена) на флешку или в любое другое место (да хоть на рабочий стол компьютера).
В статье автор использует Windows 11, КриптоПро 5.0.12330 и РуТокен Lite. На самом деле особой разницы при различиях быть не должно. Надеюсь, вы уже установили КриптоПро, и мы можем пропустить этот этап.
Способ 1 – Сертификаты пользователя

В этом и следующих разделах нам придется запускать КриптоПро или одну из его утилит. Проще всего это сделать, порывшись в меню приложений в «Пуске»:

Но можно воспользоваться и поиском Windows. Лично я в этой статье буду использовать его, а вам как удобнее.
- Запускаем приложение «Сертификаты пользователя» (оно находится как раз в папке КриптоПро на скриншоте выше).
- Переходим в папку «Личное – Сертификаты». Справа выделяем нужные нам, щелкаем правой кнопкой мыши по ним. В выпадающем меню выбираем «Все задачи – Экспорт».

- Должен открыться «Мастер экспорта сертификатов». Жмем «Далее».

- Выбираем вариант экспорта (обратите внимание, что у меня экспорт закрытого ключа запрещен).

- Выбираем нужный формат. X.509 меня полностью устраивает.

- Задаем место, куда нужно сохранить файл сертификата (и сразу его название).

- Подтверждаем, и ЭЦП успешно сохраняется в нужном месте.

Способ 2 – КриптоПро CSP
Способ подходит, если нужно перенести все сертификаты КриптоПРО на другой компьютер (копирование целого контейнера).
- Теперь запускаем уже непосредственно КриптоПро CSP.
- Переходим на вкладку «Сервис» и в разделе «Контейнер закрытого ключа» нажимаем на кнопку «Скопировать».

Обратите внимание, что на этой же вкладке можно просмотреть существующие сертификаты, записанные на токене, а также подключить скопированный сертификат.
- Кнопкой «Обзор» выбираем наш рутокен (скопируется весь контейнер) или кнопкой «По сертификату» можно выбрать отдельный сертификат.

- Указываем место копирования и получаем готовый результат (мастер попросит место создания ключа, новое название и пароль).
Но тут может получиться загвоздка. Если при создании ключа создатель не выставит галочку «Экспортируемый», то ключ (закрытый) нельзя будет скопировать в другое место, и ничего с этим не поделаешь.
Как скопировать электронную подпись из реестра на носитель?
Если электронная подпись выпускалась в реестр ПК, то вы можете скопировать ее на носитель по следующей инструкции.
Шаг 1. Откройте КриптоПро и перейдите во вкладку «Сервис», далее нажмите на кнопку «Скопировать» как показано в инструкции.

Шаг 1. Открыть КриптоПро и нажать скопировать
Шаг 2. В появившемся окне нажмите кнопку «Обзор» для того чтобы выбрать нужный для копирования контейнер электронной подписи.

Шаг 2. Обзор контейнеров
Шаг 3. В появившемся списке существующих контейнеров выберите нужный вам контейнер, который вам надо скопировать на носител и нажмите кнопку «ОК».

Шаг 3. Выбор нужного контейнера
Шаг 4. Подтвердите действие нажатием кнопки «Далее» в появившемся окне

Шаг 4. Контейнер выбран, далее
Шаг 5. В появившемся окне задайте имя нового контейнера, который будет создан на носителе. Имя в поле проставляется автоматически, поэтому можете просто не менять его. Нажмите кнопку «Готово».

Шаг 5. Ввод названия нового контейнера
Шаг 6. Появится окно выбора носителя. Выберите в списке нужный носитель, на который вы хотите скопировать электронную подпись. Для того, чтобы понять какой из списка носитель выбрать, смотрите на поле «Вставленный носитель»: в нем будет написано либо «Носитель отсутствует», что значит вы выбрали несуществующий носитель, либо появится имя носителя, похожее на имя на скриншоте. Выберите и нажмите кнопку «ОК».

Шаг 6. Выбор носителя для копирования
Шаг 7. После того, как вы выберите носитель, появится окно ввода пин-кода для нового контейнера электронной подписи. Мы рекомендуем вводить стандартный пин-код «12345678», т.к. клиенты часто забывают или теряют свои пин-коды, после чего электронную подпись приходиться перевыпускать. Вы можете задать свой (иной) пин-код, если уверены, что не потеряете его. После того, как введете пин-код, нажмите кнопку «ОК».

Шаг 7. Введите пин-код от контейнера
Готово. Теперь контейнер электронной подписи скопирован на выбранный носитель и вы можете им пользоваться.
Если желания разбираться в этих деталях нет — обращайтесь к нам, мы поможем. Можете даже вызвать к себе в офис нашего инженера.
Как скопировать ЭЦП из реестра на флешку через КриптоПРО
В процессе использования юр. организациями электронной цифровой подписи в самых разных целях, может возникнуть такая ситуация, когда ЭЦП храниться не на стандартном внешнем носителе, а только в Реестре операционной системы и крайне нужно скопировать его на USB флешку. Например, перед переустановкой операционной системы, для переноса на другой компьютер, после повреждения основного внешнего USB носителя и т.д. Так что, сегодня мы рассмотрим с вами, как скопировать ЭЦП из реестра на флешку, с помощью программы КриптоПРО.
Открываем КриптоПРО CSP и нажимаем Запустить с правами администратора.

На вкладке Сервис, нажимаем Скопировать.

И нажимаем Обзор.

Далее мы выбираем сертификат, который находится в Реестре.

И вводим пароль от контейнера с сертификатом.

Далее мы вводим уникальное имя для нового контейнера.

И в качестве ключевого носителя, выбираем подключенную USB флешку.

Придумаем новый пароль для контейнера и нажимаем ОК.

Вот и всё, контейнер с сертификатом успешно скопирован из Реестра на флешку.

Если мы теперь откроем нашу USB флешку, то увидим перенесенный контейнер, который будет состоять из набора файлов в .key формате.

Если у вас остались вопросы, оставляйте их в комментариях ниже. А пока… пока.