- Оставить заявку
- ITkrim@yandex.ru
- +7 (978) 012-15-51
Задача перенести ключевые контейнеры из реестра одной Windows в реестр другой или из одного пользователя в другого.
Первым делом на исходной ОС нам надо узнать SID текущего пользователя, у которого мы будем копировать или переносить сертификаты с ключами. Для этого в командной строке выполните команду:
wmic useraccount where name='user' get sid
предположим что ответ S-1-5-21-4126888996-1677807805-1843639151-1000 у Вас может быть другой
Далее открываем реестр. Проверяем версию операвциооной системы x64 или x86
Открываем в реестре ветку для x86 операционной системы
HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\Users\S-1-5-21-4126888996-1677807805-1843639151-1000\Keys
или формальный путь
HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\USERS\(идентификатор пользователя)\Keys\(Название контейнера)
для x64
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Crypto Pro\Settings\Users\S-1-5-21-4126888996-1677807805-1843639151-1000\Keys
или
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Crypto Pro\Settings\USERS\(идентификатор пользователя)\Keys\(Название контейнера)
Может получиться так, что Вам не хватит прав на открытие необходимой ветки и тогда вылезет предупреждение:
В этом случае для работы реестром выполним следующие действия:
Вот так это должно выглядеть в cmd:
Теперь вы можем спокойно работать с реестром и не получать предупреждения о невозможности просмотра данных.
Заново заходим в соответствующие ветки реестра
Для подключения необходимо выполнить следующие действия:
После успешного подключение вы увидите куст с введенным ранее названием.
Определить какая стояла версия и серийный номер можно посмотрев записи на скрине ниже (внизу указан путь где смотреть):
Все контейнеры вы можете найти по пути (для 64): HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Crypto Pro\Settings
\USERS\(идентификатор пользователя)\Keys\(Название контейнера)
Теперь нам необходимо экспортировать раздел с ключами для выполнения необходимых изменений и загрузки в рабочий реестр. После экспортирования я получил файл с названием reestr.reg.
Перед тем как добавить в новый реестр контейнеры нам надо сменить uid пользователя и отредактировать путь убрав название загруженного куста.
В командной строке cmd вносим команду WHOAMI /USER и видим нужный sid пользователя:
Чтобы скопировать текст из командной строки Windows, необходимо нажать правой кнопкой мыши на заголовок окна консоли и в меню «Свойства» на вкладке «Общие» включить опцию «Выделение мышью». Вставляется текст по нажатию правой кнопки мыши!
Открываем файл в блокноте и делаем замену:
Не забудьте убрать название куда добавляли куст! Вам надо загрузить в рабочую часть реестра!
Не ищите возможности удаления старого куста который мы добавляли! Ненужный больше куст можно только выгрузить!
Открываем программу Crypto Pro и смотрим что у нас есть в реестре:
Всё прошло успешно и все ключевые контейнеры присутствуют.
Берём открытый сертификат что нам нужен и устанавливаем его через Crypto Pro указав автоматический поиск контейнера. В случае если ставили контейнеры не вводя пароль просто жмите Ентер ( если вводили то ищите куда записали).
Все действия с ключами выполняйте через программу Crypto Pro!
Все сертификаты в системе Windows находятся по пути C:\Users\НУЖНЫЙ ПОЛЬЗОВАТЕЛЬ\AppData\Roaming\Microsoft\SystemCertificates\My. Достаточно скопировать эту папку в аналогичное место на новом компьютере и ключи будут перенесены.
Вывод только один — храните резервные копии ключей. В моем случае мне удалось восстановить закрытые контейнеры ключей и личные сертификаты. Стараюсь всегда или переносить ключи в реестра и хранить оригиналы, если это возможно. Не ленитесь делать резервные копии.