дата публикации 28.08.2018

Перенос КриптоПро с компьютера на компьютер

Что делать, если компьютер с программой КриптоПро сломался и ключи остались в реестре? Возможно ли восстановить ключи КриптоПро из сломанного компьютера? Ответ - да. Сложно, но можно. Ниже приведена инструкция по восстановлению ключей КриптоПро.

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

Для начала введем несколько определений: источник - компьютер с которого забираем ключи; приемник - компьютер на который переносим ключи.

Шаг 1. Определяем SID

В первую очередь нам необходимо определить SID (Security Identifier) источника. Есть несколько способов это сделать, но мы рассмотрим 2 из них, подходящих нам в разных ситуациях:

Самый простой, он возможен только в том случае, если ПК находится в рабочем состоянии. В командной строке выполняем "WHOAMI /USER" – получаем SID текущего пользователя.

Если компьютер в аварийном состоянии, то открываем реестр ПК источника(загружаемся с livecd и импортируем, если требуется), переходим к разделу HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList. Далее выбираем каждый идентификатор в разделе и смотрим значение записи ProfileImagePath. Название той ветки, в которой ProfileImagePath совпадет с нашим пользователем будет искомый SID.

Шаг 2. Экспортируем ключи

Приступаем к экспорту ключей. Путь, по которому находится контейнер с ключами может отличаться в зависимости от некоторых условий, а именно:

В 32 разрядной Windows:
HKEY_LOCAL_MACHINE\SOFTWARE\CryptoPro\Settings\Users\{SID}\Keys\(Название контейнера)

В 64 разрядной Windows:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Crypto Pro\Settings\USERS\{SID}\Keys\(Название контейнера)

В некоторых случаях (виртуальные машины) сертификат попадает сюда:
HKEY_USERS\S-1-5-21-{SID}_Classes\VirtualStore\MACHINE\SOFTWARE\[Wow6432Node]\Crypto Pro\Settings\USERS\{SID}\Keys\(Название контейнера)

Где SID это значение, которые мы выяснили на Шаге 1, оно как правило имеет вид S-1-5-21-1155488311-1545672654-485675444-1000. Название контейнера - это название наших ключей, их может быть большее одного.
Делаем экспорт куста Keys.

Аналогичным образом выясняем SID и место нахождения контейнера на ПК приемнике.

Шаг 3. Поиск и замена

Следующим шагом через любой текстовый редактор делаем "поиск и замену" пути вплоть до ветки Keys.
Пример. Открываем сформированный файл экспорта Блокнотом жмем правка -> заменить
В поле "что" указываем ветку реестра откуда экспортировали ключи в нашем примере : HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Crypto Pro\Settings\USERS\{ S-1-5-21-1155488311-1545672654-485675444-1000}\
В поле "чем" указывает ветку приемник и SID приемника
HKEY_LOCAL_MACHINE\SOFTWARE\CryptoPro\Settings\Users\{ S-1-5-32-1213786711-1532562654-480909444-9890}\
Жмем заменить все. Сохраняем изменения и закрываем файл.
После этого двойным щелчком по полученному reg файлу вносим наши ключи в реестр Приемника.

Шаг 4. Установка сертификата

Открываем КриптоПро, переходим на вкладку Сервис, жмем "Просмотреть сертификаты в контейнере"

"Сервис" -> "Посмотреть сертификаты в контейнере"

Жмем "Обзор"


Если в предыдущих шагах все было сделано правильно, то Вы увидите контейнеры.
Вам нужно двойным щелчком перебрать все ключи по очереди.

Жмем "Далее"

Жмем "Установить"

Соглашаемся с установкой сертификата и жмем "готово". Повторяем для каждого контейнера в списке.