Записки IT специалиста
Перенос сертификатов и закрытых ключей CryptoPro хранящихся в реестре
- Автор: Уваров А.С.
- 21.09.2020
КриптоПро один из наиболее широко используемых криптопровайдеров на территории Российской Федерации, он широко используется в системах электронного документооборота, сдачи отчетности и взаимодействия с государственными органами, поэтому встретить его можно практически в любой организации. По этой причине у системных администраторов часто встает вопрос его переноса на другой ПК. А так как криптография является для многих сложной и непонятной областью, то эта простая задача может вызвать некоторые затруднения.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Если вы ранее не сталкивались с криптографией вообще, то рекомендуем прочитать нашу статью: Введение в криптографию. Общие вопросы, проблемы и решения. Здесь мы не будем углубляться в теорию, но приведем некоторый необходимый ликбез.
В повседневной деятельности широко распространено понятие «сертификат», им оперируют все, от сотрудников удостоверяющих центров, то бухгалтеров, работающих с ЭЦП. Часто можно услышать что-то подобное: «нам купили в бухгалтерию новый компьютер, нужно перенести сертификаты». Но если подходить с точки зрения криптографии, то слово «сертификат» в данном случае употребляется неправильно. Вся современная криптография строится вокруг инфраструктуры открытых ключей (PKI), которая подразумевает наличие у каждого участника ключевой пары: открытого и закрытого ключа.
Закрытый ключ является секретным, с его помощью мы можем подписывать документы, шифровать информацию и т.д. и т.п. Закрытый ключ Усиленной квалифицированной электронной подписи (УКЭП) равнозначен нотариально заверенной подписи и его попадание в чужие руки может привести к самым тяжелым последствиям.
Открытый ключ, дополненный некоторыми дополнительными данными, выпускается в форме сертификата и является публично доступным, с его помощью можно проверить действительность цифровой подписи, выполненной закрытым ключом или убедиться в подлинности участника обмена электронными документами.
Поэтому, когда мы говорим о переносе «сертификатов», то подразумеваем необходимость перенести ключевую пару: закрытый ключ и сертификат, перенос одних только сертификатов не принесет успеха, криптография на новом узле работать не будет.
Выяснив этот момент, перейдем к хранилищам закрытых ключей. КриптоПро предполагает в таком качестве токены, флеш-накопители и системный реестр. Токены являются наиболее защищенными устройствами, извлечь закрытый ключ из них невозможно, и вы можете не опасаться несанкционированного копирования (для этого закрытый ключ должен быть помечен как неэкспортируемый). Флеш-накопители представляют некий компромисс между безопасностью и мобильностью, а реестр удобен в тех случаях, когда на одном ПК нужно одновременно работать с большим количеством ключей. И именно с ним связаны определенные сложности при переносе на другой узел.
Экспорт ключей и сертификатов
Для того, чтобы правильно экспортировать закрытые ключи, нам нужно выяснить идентификатор безопасности ( SID) текущего пользователя (который работает с ЭЦП), это можно сделать командной:
wmic useraccount where name='%username%' get sid
Затем откроем редактор реестра и перейдем в ветку для 32-битных систем:
HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\Users
для 64-битных систем:
\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Crypto Pro\Settings\Users
Найдем и раскроем раздел с SID текущего пользователя и экспортируем оттуда ветку Keys.
![]()
Обратите внимание, что данная ветка содержит закрытые ключи, поэтому следует принять все меры безопасности и не передавать файл экспорта по открытым каналам связи и вообще исключить к нему несанкционированный доступ посторонних лиц.
После чего скопируем все сертификаты, расположенные по пути
%USERPROFILE%\AppData\Roaming\Microsoft\SystemCertificates\My\Certificates
Это открытые ключи, никакой секретности они не представляют, поэтому просто копируем их любым доступным способом.
Импорт ключей и сертификатов
Прежде всего установим на новый узел КриптоПро, обратите внимание, что переносить ключи и сертификаты следует между одинаковыми версиями. В противном случае либо обновите версию КриптоПро на старой системе, либо установите старую версию на новой и обновите ее уже после переноса ключевых пар.
Затем снова узнаем SID пользователя, который будет работать с ЭЦП, если это текущий пользователь, то снова выполните:
wmic useraccount where name='%username%' get sid
В противном случае:
wmic useraccount where name='Name' get sid
где Name — имя пользователя.
После чего откройте на редактирование файл реестра с экспортированными закрытыми ключами и замените в нем все вхождения старого SID на SID нового пользователя.
![]()
Сохраните файл и импортируйте его в реестр. Закрытые ключи перенесены, файл переноса в целях безопасности следует удалить.
Следующим шагом скопируйте сохраненные сертификаты в
%USERPROFILE%\AppData\Roaming\Microsoft\SystemCertificates\My\Certificates
После чего можно устанавливать и настраивать приложения работающие с криптографией, все будет работать.
Как быть если доступ к старой системе невозможен?
Теория — это хорошо, но практика может подкинуть самые неожиданные ситуации. Как быть, если доступ к старой системе невозможен? Скажем вышла из строя материнская плата или серьезно повреждена операционная система?
Все что нам нужно в таком случае — это доступ к файловой системе старой системы. Вы можете как напрямую подключить жесткий диск к новой системе, так и загрузиться при помощи консоли восстановления или любого более продвинутого инструмента, скажем MSDaRT.
С копированием сертификатов проблемы возникнуть не должно, их хранилище простая папка на диске, а вот с хранилищем закрытых ключей в реестре немного сложнее. Но не будем забывать, что системный реестр тоже хранится в файлах на диске. Вам следует любым доступным образом скопировать файл SOFTWARE из C:\Windows\System32\config
![]()
Затем на целевой системе откройте редактор реестра, перейдите в раздел HKEY_LOCAL_MACHINE и через Файл — Загрузить куст подключите скопированный из старой системы раздел реестра. Дайте ему осмысленное имя, скажем OLD_SOFTWARE.
![]()
После чего пройдите в раздел с закрытыми ключами (с учетом новой точки монтирования) и выполните экспорт ветки Keys.
![]()
Дальнейшие действия ничем не отличаются от описанных нами в разделе Импорт ключей и сертификатов.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
![]()
![]()
Или подпишись на наш Телеграм-канал:
Как скопировать контейнер/закрытую часть ключа?
Если для работы используется дискета или flash-накопитель, копирование можно выполнить средствами Windows (этот способ подходит для версий КриптоПро CSP не ниже 3.0). Папку с закрытым ключом (и файл сертификата — открытый ключ, если он есть) необходимо поместить в корень дискеты (flash-накопителя). Название папки при копировании рекомендуется не изменять. Папка с закрытым ключом должна содержать 6 файлов с расширением .key.
Пример закрытого ключа — папки с шестью файлами, и открытого ключа — файла с расширением .cer.

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

3. В окне «Копирование контейнера закрытого ключа» нажмите на кнопку «Обзор».

4. Выберите контейнер, который необходимо скопировать, и кликните по кнопке «Ок», затем «Далее».

5. Если вы копируете с защищённого ключевого носителя, то появится окно ввода, в котором следует указать pin-код.
6. Если вы не меняли pin-код на носителе, стандартный pin-код необходимо вводить соответственно его типу:
Rutoken — стандартный pin-код 12345678
eToken /JaCarta – 1234567890
7. В следующем окне необходимо ввести имя Вашей копии. Придумайте и укажите вручную имя для нового контейнера. В названии контейнера допускается русская раскладка и пробелы. Затем кликните «Готово».

8. В окне «Выбор ключевого носителя» выберите носитель, на который будет помещен новый контейнер.

9. На новый контейнер будет предложено установить пароль. Рекомендуем установить такой пароль, чтобы вам было легко его запомнить, но посторонние не могли его угадать или подобрать. Если вы не хотите устанавливать пароль, можно оставить поле пустым и нажать «ОК».

В случае утери пароля/pin-кода использование контейнера станет невозможным.
10. Если вы копируете контейнер на смарт-карту ruToken/eToken /JaCarta, окно запроса будет выглядеть так:

11. В окне ввода укажите pin-код. Если вы не меняли pin-код на носителе, стандартный pin-код
Rutoken — 12345678
eToken /JaCarta – 1234567890
12. После копирования система вернется на вкладку «Сервис» КриптоПро CSP. Копирование завершено.
13. Для работы с копией ключевого контейнера необходимо установить личный сертификат.
14. В меню Пуск выберите пункт «КРИПТО-ПРО», запустите приложение «КриптоПро CSP»
15. Перейдите на вкладку «Сервис» и нажмите кнопку «Просмотреть сертификаты в контейнере»:

16. В следующем окне нажмите кнопку Обзор, чтобы выбрать контейнер для просмотра (в нашем примере контейнер находится в Реестре):

17. После выбора контейнера нажмите кнопку Ок, затем Далее
18. Если после нажатия на кнопку Далее Вы видите такое сообщение:

19. «В контейнере закрытого ключа отсутствует открытый ключ шифрования», следует установить сертификат по рекомендациям, описанным в разделе «Установка через меню «Установить личный сертификат».
20. В окне Сертификат для просмотра нажмите кнопку Установить:

21. Если откроется сообщение «Этот сертификат уже присутствует в хранилище сертификатов. Заменить существующий сертификат новым, с проставленной ссылкой на закрытый ключ?», нажмите Да:

22. Дождитесь сообщения об успешной установке:

23. Сертификат установлен. Можно закрыть все открытые окна КриптоПро.
Установка через меню «Установить личный сертификат».
1. Для установки сертификата этим способом Вам понадобится файл сертификата (файл с расширением.cer).

2. В меню Пуск выберите пункт «КРИПТО-ПРО», запустите приложение «КриптоПро CSP»
3. Перейдите на вкладку «Сервис» и нажмите кнопку «Установить личный сертификат»:

4. В следующем окне нажмите кнопку Обзор, чтобы выбрать файл сертификата. Укажите путь к файлу сертификата и нажмите кнопку Открыть (в нашем примере файл сертификата находится на Рабочем столе):

5. В следующем окне нажмите кнопку Далее; в окне Сертификат для установки нажмите Далее.
6. Поставьте галку в окне Найти контейнер автоматически (в нашем примере контейнер находится в Реестре компьютера) и нажмите Далее:

7. В следующем окне отметьте пункт Установить сертификат (цепочку сертификатов) в контейнер и нажмите Далее:

8. В окне Завершение мастера установки личного сертификата нажмите Готово.
9. Если КриптоПро CSP запрашивает pin-код от контейнера, введите нужный код или попробуйте стандартные pin-коды носителей:
Rutoken — 12345678
eToken /JaCarta – 1234567890
10. Если откроется сообщение «Этот сертификат уже присутствует в хранилище сертификатов. Заменить существующий сертификат новым, с проставленной ссылкой на закрытый ключ?», нажмите Да:

11. Сертификат установлен. Можно закрыть все открытые окна КриптоПро.
Остались вопросы?
Отдел технической поддержки
тел.: 8 (800) 333-91-03, доб. 2400
email: otp@itcomgk.ru
Как скопировать контейнер с сертификатом на другой носитель
Подробная инструкция о том, как скопировать сертификат на другой носитель: копирование средствами Windows, копирование на профиле диагностики, массовое копирование, копирование с помощью КриптоПро CSP, экспорт PFX-файла и его установка, а также копирование контейнера из реестра другого пользователя.
В этой статье:
- Копирование средствами Windows
- Копирование на профиле Диагностики
- Массовое копирование
- Копирование с помощью КриптоПро CSP
- Экспорт PFX-файла и его установка
- Копирование контейнера из реестра другого пользователя
Копирование средствами Windows
Если для работы используется дискета или flash-накопитель, скопировать контейнер с сертификатом можно средствами Windows (этот способ подходит для версий КриптоПро CSP не ниже 3.0). Папку с закрытым ключом (и, если есть, файл сертификата — открытый ключ) поместите в корень дискеты / flash-накопителя (если поместить не в корень, то работа с сертификатом будет невозможна). Название папки при копировании рекомендуется не изменять.
В папке с закрытым ключом должно быть 6 файлов с расширением.key. Как правило, в закрытом ключе присутствует открытый ключ (файл header.key в этом случае будет весить больше 1 Кб). В этом случае копировать открытый ключ необязательно. Пример закрытого ключа — папки с шестью файлами и открытого ключа — файла с расширением.cer.


Отчитайтесь легко и без ошибок. Удобный сервис для подготовки и сдачи отчётов через интернет. Дарим доступ на 14 дней в Экстерн!
Копирование на профиле Диагностики
1. Зайдите на профиль Диагностики «Копирования» по ссылке.
2. Вставьте носитель, на который необходимо скопировать сертификат.
3. На нужном сертификате нажмите на кнопку «Скопировать».

Если на контейнер был задан пароль — появится сообщение «Введите пароль для устройства с которого будет скопирован сертификат».

Введите пароль и нажмите на кнопку «Далее».
4. Выберите носитель, куда необходимо скопировать сертификат и нажмите «Далее».

5. Задайте имя новому контейнеру и нажмите на кнопку «Далее».

6. Должно появиться сообщение об успешном копировании сертификата.

Массовое копирование
- Скачайте и запустите утилиту. Дождитесь загрузки всего списка контейнеров/сертификатов и отметьте нужные галочками.
- Выберите меню « Массовые действия » и нажмите на кнопку « Копирование контейнеров ».

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

4. После копирования нажмите внизу слева кнопку « Обновить ».
Если хотите работать со скопированными контейнерами — необходимо установить сертификаты.
Отчитайтесь легко и без ошибок. Удобный сервис для подготовки и сдачи отчётов через интернет. Дарим доступ на 14 дней в Экстерн!
Копирование с помощью КриптоПро CSP
Выберите «Пуск» > «Панель управления» > «КриптоПро CSP». Перейдите на вкладку « Сервис » и кликните по кнопке « Скопировать».

В окне « Копирование контейнера закрытого ключа » нажмите на кнопку « Обзор » .

Выберите контейнер, который необходимо скопировать, и кликните по кнопке «Ок», затем «Далее». Если вы копируете с рутокена, то появится окно ввода, в котором следует указать pin-код. Если вы не меняли pin-код на носителе, стандартный pin-код — 12345678.

Придумайте и укажите вручную имя для нового контейнера. В названии контейнера допускается русская раскладка и пробелы. Затем кликните « Готово » .

В окне « Вставьте чистый ключевой носитель » выберите носитель, на который будет помещен новый контейнер.

На новый контейнер будет предложено установить пароль. Рекомендуем установить такой пароль, чтобы вам было легко его запомнить, но посторонние не могли его угадать или подобрать. Если вы не хотите устанавливать пароль, можно оставить поле пустым и нажать «ОК».
Не храните пароль/pin-код в местах, к которым имеют доступ посторонние. В случае утери пароля/pin-кода использование контейнера станет невозможным.

Если вы копируете контейнер на смарт-карту ruToken, сообщение будет звучать иначе. В окне ввода укажите pin-код. Если вы не меняли pin-код на носителе, стандартный pin-код — 12345678.

После копирования система вернется на вкладку «Сервис» КриптоПро CSP. Копирование завершено. Если вы планируете использовать для работы в Экстерне новый ключевой контейнер, установите его через Крипто Про.
При копировании может возникнуть «Ошибка копирования сертификата», если у вас нет лицензии на КриптоПроCSP или контейнер получил признак «неэкспортируемый». Справиться с этим поможет инструкция.
Экспорт PFX-файла и его установка
Экспорт сертификата с закрытым ключом
1. Откройте оснастку работы с сертификатами:
— Пуск → Все программы → КриптоПро → Сертификаты
либо
— Internet Explorer → Сервис → Свойства обозревателя → вкладка Содержание → Сертификаты.
2. Откройте сертификат, который нужно скопировать. На вкладке «Состав» нажмите «Копировать в файл».

3. В «Мастере экспорта сертификтов» нажмите «Далее» и выберите пункт «Да, экспортировать закрытый ключ». Нажмите «Далее».

4. На следующем этапе поставьте галочки у пунктов «Включить по возможности все сертификаты в путь сертификации» и «Экспортировать все расширенные свойства», остальные галочки необходимо убрать. Нажмите «Далее».

5. Обязательно задайте пароль для экспортируемого файла. Данный пароль не рекомендуется сообщать по электронной почте. Нажмите «Далее».

6. Укажите имя файла, выберите путь сохранения и нажмите «Далее», затем нажмите «Готово».

7. Экспортируйте открытый ключ сертификата (см. Экспорт открытого ключа).
8. Заархивируйте полученные файлы форматов.pfx и.cer.
Установка сертификата с закрытым ключом
1. Откройте.pfx файл. Сразу запустится «Мастер импорта сертификатов».
2. Укажите хранилище «Текущий пользователь» и нажмите «Далее», затем снова «Далее».

3. Введите пароль, который указывали при экспорте и поставьте галочку на пункте «Пометить этот ключ как экспортируемый…», иначе наче контейнер нельзя будет скопировать в дальнейшем. Нажмите «Далее».

4. Выберите пункт «Поместить все сертификаты в следующее хранилище», нажмите на кнопку «Обзор», выберите «Личное» и нажмите на кнопку «ОК». Нажмите «Далее», а затем «Готово».

5. В окне КриптоПро выберите носитель, на который хотите сохранить контейнер. При необходимости задайте пароль.

6. Для корректной работы сертификата со встроенной лицензией переустановите сертификат в контейнер (см. Как установить личный сертификат в КриптоПро).
Отчитайтесь легко и без ошибок. Удобный сервис для подготовки и сдачи отчётов через интернет. Дарим доступ на 14 дней в Экстерн!
Копирование контейнера из реестра другого пользователя
1. Необходимо найти ветку реестра с нужным контейнером. Ветки реестра, в которых может быть контейнер закрытого ключа:
- для 32-битной ОС: HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\Users\*идентификатор пользователя*\Keys\*Название контейнера*;
- для 64-битной ОС: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Crypto Pro\Settings\USERS\*идентификатор пользователя*\Keys\*Название контейнера*.
2. После того, как нашли нужную ветку, нажмите правой кнопкой мыши на ветку с контейнером и выберите «Экспортировать».

3. Введите имя файла и нажмите на кнопку «Сохранить».
4. Скопируйте файл на тот компьютер, где будете работать с электронной подписью обычными средствами Windows.
5. Пройдите диагностику на сайте https://help.kontur.ru.
6. Как диагностика закончится, нажмите на ссылку «Показать результаты».

7. В списке результатов выберите «Информация о Windows». Скопируйте оттуда SID текущего пользователя.


8. Откройте экспортированный файл реестра с помощью «Блокнота».

9. Замените SID пользователя на скопированный ранее.

Если ветка реестра экспортируется из 32-битной ОС в 64-битную ОС, добавьте в путь ветки реестра параметр Wow6432Node как на скриншоте:

10. Сохраните изменения и закройте файл.
11. Снова нажмите на файл правой кнопкой мыши и выберите «Слияние». В появившемся окне нажмите «Да».

Должно появиться сообщение о том, что данные успешно внесены в реестр. Нажмите «ОК».

Если появляется сообщение «Ошибка при доступе к реестру», необходимо еще раз проверить все пути в файле на корректность. Также проверьте, чтобы в пути не было лишних пробелов, знаков.
12. После того, как данные будут внесены в реестр, необходимо вручную установить сертификат (см. Как установить личный сертификат).
Выгрузка из реестра контейнера КриптоПро CSP
В том случае, когда в качестве криптопровайдера используется СКЗИ КриптоПро CSP, а в качестве считывателя используется реестр, контейнеры хранятся в ветке реестра:
- В x32 операционных системах контейнеры находятся в ветке: HKEY_LOCAL_MACHINE\SOFTWARE\CryptoPro\Settings\Users\\Keys\
- В x64 операционных системах контейнеры находятся в ветке: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\CryptoPro\Settings\Users\\Keys\
Если контейнеры требуется перенести вручную на другой ПК, выгрузите ветку реестра.
На том рабочем месте, куда нужно импортировать контейнеры, проверьте разрядность ОС и узнайте SID пользователя.
SID — Идентификатор безопасности пользователя ОС Windows. У каждого пользователя Windows свой SID. Для того, чтобы узнать SID пользователя запустите ОС Windows под его учетной записью, после чего перейдите в командную строку (Пуск → Выполнить → cmd) и введите команду whoami/user. Команда отобразит основные сведения о текущем пользователе, включая его SID
Пример SID: S-1-5-12-12345678-1234567890-1234567890-1234.
После этого откройте с помощью блокнота выгруженный файл реестра в формате .reg, измените SID и, если необходимо, путь к конечной ветке.
После этого загрузите ветку реестра в систему.
Для использования электронной подписи на другом ПК, на нем должен быть установлен СКЗИ КриптоПро CSP, после добавления ветки реестра необходимо установить сертификат.
