Ключевые контейнеры в реестре

Операционная система 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. Достаточно скопировать эту папку в аналогичное место на новом компьютере и ключи будут перенесены.
Вывод
Вывод только один — храните резервные копии ключей. В моем случае мне удалось восстановить закрытые контейнеры ключей и личные сертификаты. Стараюсь всегда или переносить ключи в реестра и хранить оригиналы, если это возможно. Не ленитесь делать резервные копии.
Понравилась статья? Поделитесь ей с друзьями!
Подписывайтесь на Telegram канал
Читая их я получаю информацию которая позволяет мне улучшить качество написания статей. Кроме того, оставляя комментарии вы помогаете сайту получить более высокий рейтинг у поисковых систем. Давайте общаться.
Присоеденяйтесь к общению Telegram чате
Читая их я получаю информацию которая позволяет мне улучшить качество написания статей. Кроме того, оставляя комментарии вы помогаете сайту получить более высокий рейтинг у поисковых систем. Давайте общаться.
Учавствуйте в проекте «Команда ADMINS»
Читая их я получаю информацию которая позволяет мне улучшить качество написания статей. Кроме того, оставляя комментарии вы помогаете сайту получить более высокий рейтинг у поисковых систем. Давайте общаться.
Пожалуйста, оставляйте свои комментарии
Читая их я получаю информацию которая позволяет мне улучшить качество написания статей. Кроме того, оставляя комментарии вы помогаете сайту получить более высокий рейтинг у поисковых систем. Давайте общаться.
2 комментариев для статьи “ Ключевые контейнеры в реестре ”
Да уж, тема злободневная. Сам много ковырялся с этими сертификатами. Теперь всегда делаю локальную копию при возможности. Главное, не забыть забэкапить сертификат и закрытый ключ от него.
Windows admin blog
Полезные команды cmd, powershell, администрирование, фичи и решения проблем на win/winserver
Крипто Про: как узнать пароль контейнера закрытого ключа (сохраненного в реестре)
Если пароль сохраненного в реестре контейнера ЭЦП отличается от стандартного и пользователь его забыл, а вспомнить его нужно (например, при копировании сертификата другому пользователю), то узнать сохраненный пароль можно следующим способом:
1. Открываем cmd
2. Переходим в директорию с программой
cd "C:\Program Files\Crypto Pro\CSP\"
3. Смотрим имена доступных контейнеров закрытого ключа ЭЦП:
csptest -keyset -enum_cont -fqcn -verifycontext
команда выводит список доступных контейнеров вида: \\.\\
4. После этого выводим сохраненный пароль для нужного контейнера:
csptest -passwd -showsaved -container ""
PS: Данный способ подходит для КриптоПро 3.6 и выше. В КриптоПро 3.0 у утилиты csptest отсутствует опция -showsaved.
P.P.S. Также метод не подойдет для аппаратных контейнеров (токенов)
P.P.S. Если в имени контейнера присутствуют кавычки, то могут возникнуть некоторые трудности в распознавании имени командной строкой
Прописать сертификат закрытого ключа в реестр КриптоПро

Электронный документооборот всё плотнее входит в нашу жизнь.
Сегодня данный вопрос касается уже далеко не только офисных сотрудников предприятий и индивидуальных предпринимателей, работа с электронными документами всё чаще облегчает решение повседневных проблем рядовым гражданам и в быту. Разумеется, что с расширением применяемости электронных документов шире становится и распространение электронной цифровой подписи, сокращённо — ЭЦП .
Именно о повышении удобства в работе с ЭЦП и пойдёт речь дальше, а именно, мы рассмотрим, как добавить ключ ЭЦП в реестр КриптоПро на компьютере.
Что такое ЭЦП и сертификат закрытого ключа
Электронная цифровая подпись используется во многих программных продуктах: 1С: Предприятие (и другие программы для ведения хозяйственного или бухгалтерского учёта), СБИС++ , Контур.Экстерн (и прочие решения для работы с бухгалтерской и налоговой отчётностью) и других. Также ЭЦП нашла применение в обслуживании физических лиц при решении вопросов с государственными органами.
ЭЦП — это, своего рода, гарант в мире электронного документооборота, аналогичный обычной подписи и печатями на бумажных носителях
Как и при подписании бумажных документов, процесс подписания электронных носителей информации связан с «редактированием» первичного источника.
Электронная цифровая подпись документов осуществляется путём преобразования электронного документа с помощью закрытого ключа владельца, этот процесс и называется подписанием документа
На сегодняшний день сертификаты закрытого ключа чаще всего распространяются либо на обычных USB-флешках, либо на специальных защищённых носителях с тем же USB интерфейсом ( Рутокен , eToken и так далее).
При этом, каждый раз, когда возникает необходимость в подписи документов (или идентификации пользователя), нам нужно вставить носитель с ключом в компьютер, после чего проводить манипуляции с сертификатом. Соответственно, после завершения работы нам достаточно просто извлечь носитель из компьютера, чтобы нашей подписью больше никто не мог воспользоваться. Этот способ достаточно безопасен, но не всегда удобен.
Если вы используете ЭЦП у себя дома, то каждый раз подключать/отключать токен быстро надоедает. Кроме того, носитель будет занимать один USB-порт , которых и так не всегда хватает для подключения всей необходимой периферии.
Если же вы используете ЭЦП на работе, то бывает, что ключ удостоверяющим центром выдан один, а подписывать документы должны разные люди . Таскать контейнер туда-сюда тоже не удобно, да ещё бывают и случаи, когда в одно время с сертификатом работают сразу несколько специалистов .
Кроме того, и дома, и, особенно, на работе, случается, что на одном компьютере необходимо производить действия с использованием сразу нескольких ключей цифровой подписи .
Именно в тех случаях, когда использование физического носителя сертификата неудобно, можно прописать ключ ЭЦП в реестр КриптоПро (подробнее о реестре Windows в общем понимании можно почитать в соответствующей статье: Изменение параметров системного реестра Windows) и использовать сертификат, не подключая носитель к USB-порту компьютера.
Добавление считывателя Реестр в КриптоПро CSP
В первую очередь, чтобы наш КриптоПро смог работать с прописанными локально ключами, требуется добавить сам вариант подобного считывателя.
Для того, чтобы установить в CSP утилиту новый тип носителя, запускаем программу от имени администратора правой кнопкой мыши или из меню самой утилиты на вкладке Общие

Теперь переходим на вкладку Оборудование и нажимаем на кнопку Настроить считыватели.
Если в открывшемся окне нет варианта Реестр, то, чтобы его здесь вывести, жмём на кнопку Добавить.

Далее, следуя командам Мастера установки считывателя поэтапно перемещаемся по окнам:
- Жмём кнопку Далее в первом окне.
- Из списка считывателей от всех производителей выбираем вариант Реестр и снова жмём Далее .
- Вводим произвольное имя считывателя, можно оставить название по умолчанию. Жмём Далее .
- В последнем окне видим оповещение, что после завершения настройки считывателя рекомендуется перезагрузить компьютер. Жмём кнопку Готово и самостоятельно перезагружаем машину.

Первый этап завершён. Считыватель Реестр добавлен , о чём свидетельствует соответствующий пункт в окне Управление считывателями ( напоминаем, что данное окно вызывается по пути КриптоПро — Оборудование — Настроить считыватели. )

Копирование ключа в Реестр КриптоПро CSP
Чтобы прописать ключевой контейнер в локальное хранилище, подсоединяем физический носитель с ключом к компьютеру.
Теперь снова запускаем утилиту КриптоПро , открываем вкладку Сервис и жмём на кнопку Скопировать.
Далее в окне Мастера копирования контейнера закрытого ключа жмём кнопку Обзор (либо По сертификату. ) и выбираем наш ключевой носитель, подтвердив выбор кнопкой OK , после чего переходим к следующему окну кнопкой Далее .

В новом окне задаём произвольное понятное имя создаваемому контейнеру ключа и нажимаем кнопку Готово . Затем для записи ключа выбираем созданный нами ранее тип считывателя Реестр, подтвердив выбор кнопкой OK .
После подтверждения нам необходимо установить Пароль на созданный ключевой контейнер, по умолчанию, чаще всего, используют пароль 12345678, но для более безопасной работы пароль можно задать сложнее. После ввода пароля жмём на кнопку OK .

Всё, ключевой контейнер добавлен в Реестр КриптоПро .
Установка сертификата закрытого ключа КриптоПро CSP
В завершении настройки подписи документов без подключения носителя ключа к компьютеру нам остаётся только установить сертификат закрытого ключа из контейнера созданного носителя.
Чтобы установить сертификат в КриптоПро необходимо проделать следующее:
- В утилите CSP на вкладке Сервис жмём на кнопку Просмотреть сертификаты в контейнере.
- В открывшемся окне нажимаем на кнопку Обзор , где по заданному нами имени выбираем искомый носитель, подтвердив выбор кнопкой OK . Нажимаем Далее .
- В завершающем окне проверяем правильность выбора сертификата и подтверждаем решение кнопкой Установить .

Теперь у нас установлен Сертификат закрытого ключа из локального носителя Реестр .
Настройка КриптоПро завершена, но вам следует помнить, что для многих программных продуктов также потребуется перепрописать новый ключ в настройках системы.
После проделанных действий мы можем подписывать документы без подключения ключа, будь то Рутокен, eToken или какой-то другой физический носитель.
Установка ключа ЭЦП на локальный компьютер


Для установки понадобится установленное средство криптозащиты информации (СКЗИ) КриптоПро CSP и подключенный к ПК пустой флеш-накопитель. Ключи, выгруженные из облака ServiceCloud помещаются в папку ЭЦП на диске W.
-
Необходимые вам выгруженные файлы ЭЦП следует скопировать на пустой флеш-накопитель. ЭЦП выгружается из облака в двоичном виде и выглядят следующим образом, контейнер закрытого ключа (header, masks, masks2, name, primary, primary 2) и файл сертификата в формате «.cer» (Рисунок 1).

Рисунок 1 – Файлы контейнера и сертификата в корневом каталоге флеш-накопителя. Далее следует проверить настройку считывателей.
Откройте панель управления средства криптографической защиты информации (СКЗИ) КриптоПро CSP («Пуск» – «Панель управления» – «КриптоПро CSP») от имени администратора (Вкладка «Общие» — «Запустить от имени администратора») и перейдите на вкладку «Оборудование» (Рисунок 2).

Рисунок 2 – Настроить считыватели
Нажмите кнопку «Настроить считыватели…». Считыватель USB флеш-накопителя и дискет устанавливается по умолчанию при установке КриптоПро CSP. Проверьте, что на закладке «Считыватели» присутствует пункт «Все съемные диски» (рисунок 3). В случае, если пункт «Все съемные диски» отсутствует, его необходимо добавить через кнопку «Добавить…» и выбрать Ваше устройство.

Рисунок 3 – Все съемные диски Убедитесь, что USB флеш-накопитель на который скопированы ключи подключен и доступен. Далее переходим к копированию и установке ЭЦП.
У ключа ЭЦП должен быть носитель, им может выступать данный флеш-накопитель, защищенные носители rutoken, etoken, либо реестр Вашего компьютера, в примере будет показана установка в реестр.
Перейдите на вкладку «Сервис» и нажмите кнопку «Скопировать» (рисунок 4).

Рисунок 4. Вкладка «Сервис» кнопка «Скопировать» Откроется окно «Копирование контейнера закрытого ключа»
В окне «Копирование контейнера закрытого ключа» (Рисунок 5) заполните поле «Имя ключевого контейнера». Оно может быть найдено в списках контейнеров (кнопка «Обзор») или сертификатов (кнопка «По сертификату»).

Рисунок 5. Окно копирования контейнера закрытого ключа Далее выбираем интересующий нас контейнер и нажимаем «ОК»(рисунок 6).
Рисунок 6. Выбор контейнера для копирования.

Примечание: если КриптоПро не видит контейнер или на вашем накопителе несколько ЭЦП, то необходимо создать или переименовать уже существующую папку с ЭЦП. Не используйте кириллицу и пробелы в названиях!
Пример правильного названия — «OOOROMASHKA» или «00001».
Пример неправильного названия —«20112-09-10 18-50-00 ООО Ромашка».
После того, как ключевой контейнер будет найден, следует ввести имя контейнера, его можно оставить по умолчанию (рисунок 7), нажмите кнопку «Далее». Если на доступ к закрытому ключу установлен пароль, то он будет запрошен.

Рисунок 7. Ввод наименования.
Введите пароль и нажмите кнопку «ОК». Откроется окно ввода параметров нового контейнера закрытого ключа, следует выбрать носитель (в инструкции им выступает реестр) (Рисунок 8).

Рисунок 8. Выбор носителя ключевого контейнера. Также следует задать пароль для контейнера закрытого ключа (рисунок 9), им будет защищена Ваша ЭЦП.

Рисунок 9. Ввод пароля для контейнера закрытого ключа. Контейнер установлен
Теперь следует установить сертификат. Вкладка «Сервис» — «Установить личный сертификат» (рисунок 10).

Рисунок 10. Установить личный сертификат. В окне мастера установки нажимаем «Обзор…» (Рисунок 11).

Рисунок 11. Выбор расположения сертификата.
Выбираем сертификат (.cer), который вы копировали на на флеш-накопитель вместе с файлами контейнера на первом шаге данной инструкции. Нажимаем «Открыть» (Рисунок 12).

Рисунок 12. Выбор расположения сертификата. После выбора сертификата нажимаем «Далее» (Рисунок 13).

Рисунок 13. Выбор сертификата.
Просматриваем сертификат и нажимаем «Далее» (рисунок 14).

Рисунок 14. Просмотр сертификата.
В окне выбора контейнера закрытого ключа следует выставить флаг «Найти контейнер автоматически». «Далее» (рисунок 15).

Рисунок 15. Автоматический поиск контейнера.
Хранилище сертификатов оставляем личное по умолчанию и нажимаем «Далее» (рисунок 16).

Рисунок 16. Выбор хранилища.
На завершающем этапе установки сертификата нажимаем «Готово» (рисунок 17).
При написании инструкции использовались материалы из официальной инструкции по использованию CryptoPro CSP для Windows™.