Операционная система Windows умерла и нет возможности восстановить. В системе находились ключевые контейнеры записанные в реестр и на других носителях их не существует. Перенесем ключевые контейнеры со старого реестра в новую систему.
Содержание:
- 1 Введение
- 2 Ключевые контейнеры в реестре как с ними работать?
- 3 Необходимые данные в старом реестре
- 4 Добавление контейнеров в новый реестр
- 5 Вывод
Введение
Конечно лучше всегда хранить резервные копии всех получаемых ключей, но это делают только те кто уже имел проблемы с потерей а в последствии долгим и мучительным процессом восстановления необходимых ключей. Самая большая проблема в том что не каждый контейнер в реестре содержит в себе открытый ключ. Государственным учреждениям выдают, как правило на флешке, ключевой контейнер и личный сертификат которые работают в системе только в связке. Некоторые бережно хранят эту связку ну а большинство устанавливают контейнер в реестр системы и используют дальше флэшку в личных целях не задумываясь удаляя все лишнее в случае необходимости. Сохранность данных дело каждого мое дело решить задачу из сложившихся реалий о чем я и поведаю. Вариант подойдёт и для случая когда нет желание переносить каждый ключ а хочется перенести все сразу на новый компьютер.
Ключевые контейнеры в реестре как с ними работать?
Для работы со старым реестрам нужны права на открытие необходимых данных иначе вылезет предупреждение:
Для работы со старым реестром выполним следующие действия:
- Скачиваем программу PsTools и распаковываем в любую папку;
- Копируем необходимый файл PsExec.exe в папку C:\Windows\System32;
- Запускаем командную строку cmd от имени администратора;
- Вставляем команду psexec -i -d -s c:\windows\regedit.exe и нажимаем Enter.
Вот так это должно выглядеть в cmd:
Теперь вы можем спокойно работать с реестром и не получать предупреждения о невозможности просмотра данных.
Необходимые данные в старом реестре
Файлы реестра находятся по пути Windows/system32/config файл который нас интересует называется SOFTWARE. В нашем случае он был исправен в противном случае восстановить нужные данные не получиться.
Подключаем старый реестр в новый
Для подключения необходимо выполнить следующие действия:
- Выбрать необходимую ветку реестра HKEY_LOCAL_MACHINE;
- Перейти в меню Файл → Загрузить куст;
- Выбрать необходимый файл SOFTWARE;
- Назначить имя загруженному кусту (в моем случае old).
После успешного подключение вы увидите куст с введенным ранее названием.
Серийный номер КриптоПро в реестре
Определить какая стояла версия и серийный номер можно посмотрев записи на скрине ниже (внизу указан путь где смотреть):
Где хранятся контейнеры ключей в реестре
Все контейнеры вы можете найти по пути (для 64): HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Crypto Pro\Settings
\USERS\(идентификатор пользователя)\Keys\(Название контейнера)
Сохранение ключевых контейнеров
Теперь нам необходимо экспортировать раздел с ключами для выполнения необходимых изменений и загрузки в рабочий реестр. После экспортирования я получил файл с названием reestr.reg.
Добавление контейнеров в новый реестр
Перед тем как добавить в новый реестр контейнеры нам надо сменить uid пользователя и отредактировать путь убрав название загруженного куста.
Смотрим UID необходимого пользователя
В командной строке cmd вносим команду WHOAMI /USER и видим нужный sid пользователя:
Чтобы скопировать текст из командной строки Windows, необходимо нажать правой кнопкой мыши на заголовок окна консоли и в меню «Свойства» на вкладке «Общие» включить опцию «Выделение мышью». Вставляется текст по нажатию правой кнопки мыши!
Меняем данные в файле
Открываем файл в блокноте и делаем замену:
Не забудьте убрать название куда добавляли куст! Вам надо загрузить в рабочую часть реестра!
Экспортирует контейнеры в новый реестр
Выгружаем старый реестр
Не ищите возможности удаления старого куста который мы добавляли! Ненужный больше куст можно только выгрузить!
Проверка добавления ключевых контейнеров
Открываем программу Crypto Pro и смотрим что у нас есть в реестре:
Всё прошло успешно и все ключевые контейнеры присутствуют.
Перенос личных сертификатов пользователя
Добавление сертификата через Крипто ПРО
Берём открытый сертификат что нам нужен и устанавливаем его через Crypto Pro указав автоматический поиск контейнера. В случае если ставили контейнеры не вводя пароль просто жмите Ентер ( если вводили то ищите куда записали).
Все действия с ключами выполняйте через программу Crypto Pro!
Перенос всех сертификатов
Все сертификаты в системе Windows находятся по пути C:\Users\НУЖНЫЙ ПОЛЬЗОВАТЕЛЬ\AppData\Roaming\Microsoft\SystemCertificates\My. Достаточно скопировать эту папку в аналогичное место на новом компьютере и ключи будут перенесены.
Вывод
Вывод только один — храните резервные копии ключей. В моем случае мне удалось восстановить закрытые контейнеры ключей и личные сертификаты. Стараюсь всегда или переносить ключи в реестра и хранить оригиналы, если это возможно. Не ленитесь делать резервные копии.
Да уж, тема злободневная. Сам много ковырялся с этими сертификатами. Теперь всегда делаю локальную копию при возможности. Главное, не забыть забэкапить сертификат и закрытый ключ от него.
Но совсем все я конечно понимаю с этими сертификатами но если пойму обязательно напишу.