Ключевые контейнеры в реестре. Ключевые контейнеры в реестре Выгрузка ключа криптопро из реестра

Часто бывают ситуации, когда после переустановки Windows оказывается, что часть настроек вновь установленных программ, в том числе и регистрация, остались в старой системе. Причем повторная настройка займет достаточно много времени – такой вариант не подходит.

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

Немного о структуре реестра

Для начала запускаем редактор реестра Пуск – Выполнить – Набираем «regedit» и жмем «ОК» . Как видно из рисунка все данные хранятся в основных разделах:

  • HKEY_CLASSES_ROOT
  • HKEY_CURRENT_USER
  • HKEY_LOCAL_MACHINE
  • HKEY_ USERS
  • HKEY_CURRENT_CONFIG

Во-первых, надо определиться, в какой части реестра хранились старые данные.

Нас будет интересовать в первую очередь разделы HKEY_LOCAL_MACHINE и HKEY_CURRENT_USER . В первом хранятся настройки программ компьютера, во втором настройки текущего пользователя. Случается, что программа хранит данные в обоих ветках реестра. Поэтому параметры и регистрация программ с большой вероятностью хранится в следующих разделах:

  • HKEY_CURRENT_USER\Software
  • HKEY_LOCAL_MACHINE\Software

В них необходимо найти производителя программного обеспечения и далее название самой программы

Где искать файлы с содержимым старого реестра Windows

  • HKEY_CURRENT_USER формируется из файла
    %USERPROFILE%\ntuser.dat, где %USERPROFILE% - папка текущего пользователя в C:\Documents and Settings
  • HKEY_LOCAL_MACHINE\Software хранится в файле
    %SystemRoot%\system32\config\software
  • HKEY_LOCAL_MACHINE\System\ хранится в файле
    %SystemRoot%\system32\config\system
  • HKEY_LOCAL_MACHINE\SAM\ хранится в файле
    %SystemRoot%\system32\config\SAM
  • HKEY_LOCAL_MACHINE\SECURITY\хранится в файле
    %SystemRoot%\system32\config\SECURITY
  • HKEY_LOCAL_MACHINE\HARDWARE\» формируется в зависимости от оборудования (динамически).
  • HKEY_USERS\DEFAULTхранится в файле
    %SystemRoot%\system32\config\default

Методика переноса на примере программы The Bat

Попробуем перенести данные почтового клиента The Bat из старого реестра. Если этого не сделать, что программа «не вспомнит» ни старые почтовые ящики, ни настройки, ни регистрацию. Данная программа хранит данные в ветре реестра HKEY_CURRENT_USER\Software, а, значит, физически данные находятся в файле ntuser.dat . Где его искать, указано выше.

В случае, если для работы используется flash-накопитель или дискета, копирование можно выполнить средствами Windows (этот способ подходит для версий КриптоПро CSP не ниже 3.0). Папку с закрытым ключом (и файл сертификата, если он есть) необходимо поместить в корень flash-накопителя (дискеты). Название папки при копировании рекомендуется не изменять.

Папка с закрытым ключом должна содержать 6 файлов с расширением.key. Ниже приведен пример содержимого такой папки.

Копирование контейнера также может быть выполнено с помощью криптопровайдера КриптоПро CSP. Для этого необходимо выполнить следующие шаги:

1. Выбрать Пуск / Панель Управления / КриптоПро CSP .

2. Перейти на вкладку Сервис и кликнуть по кнопке Скопировать. (см. рис. 1).

Рис. 1. Окно «Свойства КриптоПро CSP»

3. В окне Копирование контейнера закрытого ключа нажать на кнопку Обзор (см. рис. 2).

Рис. 2. Копирование контейнера закрытого ключа

4. Выбрать контейнер из списка, кликнуть по кнопке Ок , затем Далее .

Рис. 3. Имя ключевого контейнера

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

Рис. 4. Выбор чистого ключевого носителя

7. На новый контейнер будет предложено установить пароль. Установка пароля не является обязательной, можно оставить поле пустым и нажать на кнопку Ок (см. рис. 5).

Рис. 5. Установка пароля на контейнер

Если копирование выполняется на носитель Rutoken , сообщение будет звучать иначе (см. рис. 6)

Рис. 6. Pin-код для контейнера

Обращаем ваше внимание: в случае утери пароля/pin-кода использование контейнера станет невозможным.

8. После выполнения копирования система вернется на вкладку Сервис в окне КриптоПро CSP . Копирование завершено. Если планируется использовать для работы в системе «Контур-Экстерн» новый ключевой контейнер, необходимо установить личный сертификат (см. Как установить личный сертификат?).

Для массового копирования скачайте и запустите утилиту Certfix .

Операционная система Windows умерла и нет возможности восстановить. В системе находились ключевые контейнеры записанные в реестр и на других носителях их не существует. Перенесем ключевые контейнеры со старого реестра в новую систему.

Конечно лучше всегда хранить резервные копии всех получаемых ключей, но это делают только те кто уже имел проблемы с потерей а в последствии долгим и мучительным процессом восстановления необходимых ключей. Самая большая проблема в том что не каждый контейнер в реестре содержит в себе открытый ключ. Государственным учреждениям выдают, как правило на флешке, ключевой контейнер и личный сертификат которые работают в системе только в связке. Некоторые бережно хранят эту связку ну а большинство устанавливают контейнер в реестр системы и используют дальше флэшку в личных целях не задумываясь удаляя все лишнее в случае необходимости. Сохранность данных дело каждого мое дело решить задачу из сложившихся реалий о чем я и поведаю. Вариант подойдёт и для случая когда нет желание переносить каждый ключ а хочется перенести все сразу на новый компьютер.

Ключевые контейнеры в реестре как с ними работать?

Для работы со старым реестрам нужны права на открытие необходимых данных иначе вылезет предупреждение:

Для работы со старым реестром выполним следующие действия:

  • Скачиваем программу 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. Достаточно скопировать эту папку в аналогичное место на новом компьютере и ключи будут перенесены.

Вывод

Вывод только один — храните резервные копии ключей. В моем случае мне удалось восстановить закрытые контейнеры ключей и личные сертификаты. Стараюсь всегда или переносить ключи в реестра и хранить оригиналы, если это возможно. Не ленитесь делать резервные копии.