Руководство по работе с реестром ОС Windows

Содержание:

Предисловие

Руководство содержит базовые приёмы и практические примеры работы с реестром операционной системы Windows.

Авторские права

Руководство распространяется на условиях лицензии «Attribution-ShareAlike» («Атрибуция — На тех же условиях» 4.0 Всемирная.

Благодарности

  • Александр Дегтярев
  • Михаил Хромов

Обратная связь

Все вопросы, правки и пожелания направляйте на адрес uksvlg@yandex.ru.

Автор:Дмитрий Мажарцев
Адрес:Волгоград
Дата:29 июня 2015 года

Реестр Windows

Реестр Windows (англ. Windows Registry), или системный реестр — иерархически построенная база данных параметров и настроек в большинстве операционных систем семейства Microsoft Windows [2].

В реестре хранятся данные, которые необходимы для правильного функционирования Windows. К ним относятся профили всех пользователей, сведения об установленном программном обеспечении и типах документов, которые могут быть созданы каждой программой, информация о свойствах папок и значках приложений, а также установленном оборудовании и используемых портах [1].

Открытие реестра

Поскольку файлов в реестре несколько, его нельзя открыть, например, в текстовом редакторе и внести какие-либо коррективы. Для работы с ним требуется специальная программа – редактор реестра, который является встроенным компонентом операционной системы Windows и вызывается путем ввода команды Regedit [4].

Существует несколько способов открыть редактор реестра.

Способ №1 – Открытие через утилиту «Выполнить»:

  1. Выбрать Пуск → Выполнить, либо нажать сочетание клавиш Win+R (Win — клавиша, между Ctrl и Alt в нижнем ряду клавиатуры, обычно на ней изображен значок Microsoft Windows win-key;
  2. В открывшимся окне ввести команду regedit;
  3. Нажать клавишу ОК.
Рис. 1 – Открытие через утилиту «Выполнить»

Рис. 1 – Открытие через утилиту «Выполнить»

Способ №2 – Открытие через поиск по меню «Пуск»:

  1. Открыть меню Пуск;
  2. Ввести в строке поиска regedit и запустить найденный файл, который отобразится в верхней части Пуска.
Рис. 2 – Открытие через поиск по меню «Пуск»

Рис. 2 – Открытие через поиск по меню «Пуск»

С другими способами можно ознакомиться в статье Три способа открыть редактор реестра Windows.

Структура реестра

Реестр имеет иерархическую структуру, которая напоминает файловую систему жесткого диска – с его каталогами, подкаталогами и файлами. Но называются элементы реестра по-другому: верхний уровень иерархии составляют разделы, каждый из которых может содержать вложенные подразделы, а также параметры. Именно в параметрах хранится основное содержимое реестра, разделы служат лишь для группировки схожих по назначению параметров [4].

Рис. 3 – Редактор реестра

Рис. 3 – Редактор реестра

Далее приведен краткий перечень и краткое описание стандартных разделов реестра. Максимальная длина имени раздела составляет 255 символов.

HKEY_CURRENT_USER

Данный раздел является корневым для данных конфигурации пользователя, вошедшего в систему в настоящий момент. Здесь хранятся папки пользователя, цвета экрана и параметры панели управления. Эти сведения сопоставлены с профилем пользователя. Вместо полного имени раздела иногда используется аббревиатура HKCU.

HKEY_USERS

Данный раздел содержит все активные загруженные профили пользователей компьютера. Раздел HKEY_CURRENT_USER является подразделом раздела HKEY_USERS. Вместо полного имени раздела иногда используется аббревиатура HKU.

HKEY_LOCAL_MACHINE

Раздел содержит параметры конфигурации, относящиеся к данному компьютеру (для всех пользователей). Наиболее интересным является подраздел Software, который включает в себя настройки всех установленных в системе приложений. Вместо полного имени раздела иногда используется аббревиатура HKLM.

HKEY_CLASSES_ROOT

Является подразделом HKEY_LOCAL_MACHINE\Software. Хранящиеся здесь сведения обеспечивают выполнение необходимой программы при открытии файла с использованием проводника. Вместо полного имени раздела иногда используется аббревиатура HKCR. Начиная с Windows 2000, эти сведения хранятся как в HKEY_LOCAL_MACHINE, так и в HKEY_CURRENT_USER.

Раздел HKEY_LOCAL_MACHINE\Software\Classes содержит параметры по умолчанию, которые относятся ко всем пользователям локального компьютера. Параметры, содержащиеся в разделе HKEY_CURRENT_USER\Software\Classes, переопределяют принятые по умолчанию и относятся только к текущему пользователю.

Раздел HKEY_CLASSES_ROOT включает в себя данные из обоих источников. Кроме того, раздел HKEY_CLASSES_ROOT предоставляет эти объединенные данные программам, разработанным для более ранних версий Windows. Изменения настроек текущего пользователя выполняются в разделе HKEY_CURRENT_USER\Software\Classes. Модификация параметров по умолчанию должна производиться в разделе HKEY_LOCAL_MACHINE\Software\Classes. Данные из разделов, добавленных в HKEY_CLASSES_ROOT, будут сохранены системой в разделе HKEY_LOCAL_MACHINE\Software\Classes. Если изменяется параметр в одном из подразделов раздела HKEY_CLASSES_ROOT и такой подраздел уже существует в HKEY_CURRENT_USER\Software\Classes, то для хранения информации будет использован раздел HKEY_CURRENT_USER\Software\Classes, а не HKEY_LOCAL_MACHINE\Software\Classes.

HKEY_CURRENT_CONFIG

Данный раздел содержит сведения о профиле оборудования, используемом локальным компьютером при запуске системы.

Примечание

Реестр 64-разрядных версий Windows подразделяется на 32- и 64-разрядные разделы. Большинство 32-разрядных разделов имеют те же имена, что и их аналоги в 64-разрядном разделе, и наоборот. По умолчанию редактор реестра 64-разрядных версий Windows отображает 32-разрядные разделы в следующем узле: HKEY_LOCAL_MACHINE\Software\WOW6432Node

Файлы реестра на жестком диске

Основные файлы, отвечающие за формирование реестра хранятся в папке %SystemRoot%\System32\Config\. Обычно это C:\Windows\System32\Config\ и в зависимости от версии ОС их состав может несколько различаться.

Файл, хранящий личные настройки пользователя, «скрыт» в папке соответствующей учетной записи, например, в C:\Documents and Settings\Dmitry. Также файлы, отвечающие за пользовательские настройки, могут храниться в:

  • C:\Documents and Settings\%Username%\(Ntuser.dat);
  • C:\Documents and Settings\%Username%\Local Settings\Application Data\Microsoft\Windows\ (UsrClass.dat).

Еще есть резервные копии файлов реестра, созданные системой, хранятся они в

  • C:\Windows\System32\config\RegBack – для Windows 7 и Server 2008;
  • C:\Windows\repair – для XP и Server 2003.

Примечание

По умолчанию операционная система делает резервные копии этих файлов раз в 10 дней с помощью планировщика задач.

Вспомогательные файлы для всех кустов за исключением HKEY_CURRENT_USER хранятся в системах Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003 и Windows Vista в папке %SystemRoot%\System32\Config.

Вспомогательные файлы для куста HKEY_CURRENT_USER хранятся в папке %SystemRoot%\Profiles\Имя_пользователя. Расширения имен файлов в этих папках указывают на тип содержащихся в них данных. Отсутствие расширения также иногда может указывать на тип содержащихся в файле данных.

Примечание

Куст (дерево) реестра (англ. hive) - это группа разделов, подразделов и параметров реестра с набором вспомогательных файлов, содержащих резервные копии этих данных.

Таблица 1 — Соответствие кустов реестра и вспомогательных файлов
Куст реестра Вспомогательные файлы
HKEY_LOCAL_MACHINE\SAM Sam, Sam.log, Sam.sav
HKEY_LOCAL_MACHINE\Security Security, Security.log, Security.sav
HKEY_LOCAL_MACHINE\Software Software, Software.log, Software.sav
HKEY_LOCAL_MACHINE\System System, System.alt, System.log, System.sav
HKEY_CURRENT_CONFIG System, System.alt, System.log, System.sav, Ntuser.dat, Ntuser.dat.log
HKEY_USERS\DEFAULT Default, Default.log, Default.sav

Примечание

Например, кусту HKEY_LOCAL_MACHINE\Software соответствует на жестком диске файл C:\Windows\System32\config\SOFTWARE.

Рис. 4 – Файлы реестра на жестком диске

Рис. 4 – Файлы реестра на жестком диске

Работа с Редактором реестра

Редактор реестра – инструмент, предназначенный для просмотра и изменения параметров в системном реестре, в котором содержатся сведения о работе компьютера.

Способы открытия редактора реестра описаны в разделе Открытие реестра данного руководства.

Создание резервной копии реестра (Экспорт)

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

Предупреждение

Перед внесением каких-либо изменений в реестр всегда создавайте его резервную копию!

Чтобы создать полную копию реестра необходимо:

  1. Запустить редактор реестра, как это описано выше;
  2. Оставаясь в корне реестра открыть меню «Файл» и выбрать пункт «Экспорт…»;
  3. Выбрать место, где будет сохранена резервная копия, и указать «Имя файла»;
  4. Нажать на кнопку «Сохранить».

Чтобы сэкономить место, можно сделать резервную копию отдельного раздела или подраздела. Для этого необходимо нажать правой кнопкой мыши на раздел (подраздел) и в выпадающем меню выбрать пункт «Экспорт…». Также можно просто перейти в нужный раздел (подраздел) и выбрать меню «Файл → Экспорт…».

Рис. 5 – Экспорт веток реестра. Создание резервной копии.

Рис. 5 – Экспорт веток реестра. Создание резервной копии.

Экспортированный файл будет иметь расширение .reg.

Примечание

Экспортированные из реестра файлы с расширением .reg являются простыми текстовыми файлами, их можно открыть любым простым текстовым редактором (Notepad++, Блокнот).

Восстановление реестра из резервной копии (Импорт)

Чтобы импортировать сохраненный файл реестра, достаточно дважды нажать левой кнопкой мыши по файлу с расширением .reg.

Также можно:

  1. Открыть редактор реестра;
  2. В меню «Файл» выбрать пункт «Импортировать файл реестра»;
  3. В меню открытия файлов найти файл, который следует импортировать, выделить его и нажать кнопку «Открыть».

Примечание

Операции экспорта и импорта используются не только для создания резервных копий. Практическое использование данных функций рассмотрено в главе Практические приёмы работы с Реестром данного руководства.

Поиск в реестре

Для быстрого доступа к параметром можно воспользоваться функцией поиска по реестру, которая находится в меню «Правка → Найти» (Ctrl+F).

Для перемещения между найденными значениями используется «Правка → Найти далее» (F3).

Загрузка и выгрузка куста

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

  1. Подключить жесткий диск к рабочему компьютеру;
  2. Открыть реестр на рабочем компьютере;
  3. Выбрать необходимую ветку реестра;
Рис. 6 – Выбор ветки

Рис. 6 – Выбор ветки

  1. Перейти в меню «Файл → Загрузить куст»;
Рис. 7 – Выбор ветки

Рис. 7 – Выбор ветки

  1. В файловом менеджере выбрать соответствующий файл куста с нерабочего компьютера;
Рис. 8 – Выбор ветки

Рис. 8 – Выбор ветки

  1. Задать произвольное имя загруженному кусту.
Рис. 9 – Присвоение произвольного имени разделу

Рис. 9 – Присвоение произвольного имени разделу

В соответсвии с примером, в ветку HKEY_LOCAL_MACHINE работающего компьютера была загружена ветка HKEY_LOCAL_MACHINE\Software с неработающего компьютера.

Для загрузки других веток реестра, необходимо выбирать соответствующие файлы на жестком диске. Таблица соответсвия веток реестра и файлов на жестком диске приведена в главе Файлы реестра на жестком диске данного руководства.

Примечание

Также допустимо скопировать папку C:\Windows\System32\config\ на обыкновенную флешку и загружать требуемые кусты с нее.

Совет

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

Более простой способо обойти подводные камни с разрешениями на ветки заключается в использовании утилиты psexec.exe, работа с которой описана в разделе Работа через утилиту PsExec.

После завершения работы с загруженными кустами, их желательно выгрузить. Для этого необходимо перейти в «Файл → Выгрузить куст».

Права доступа (Разрешения)

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

Прав доступа может не быть по нескольким причинам:

  1. У текущего пользователя, залогиненного в системе, нет прав администратора;
  2. Группа «Администраторы» является владельцем раздела, но не имеет полных прав на него. В этом случае достаточно просто выдать группе «Администраторы» полные права.
  3. Владельцем раздела является системная служба TrustedInstaller.
  4. Владельцем раздела является системная учетная запись «Система».

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

Во втором случае необходимо присвоить полные права и сменить владельца.

Получение полных прав и смена владельца

  1. Нажать правой кнопкой мыши на раздел и выбрать пункт «Разрешения»;
Рис. 10 – Вызов диалога работы с разрешениями

Рис. 10 – Вызов диалога работы с разрешениями

  1. Выделить текущего пользователя:
  • Если доступен флажок «Полный доступ», установить его и нажать кнопку «ОК. Этого может оказаться достаточно, если группа является владельцем раздела.
Рис. 11 – Открытие Полного доступа гурппам и пользователям

Рис. 11 – Открытие Полного доступа гурппам и пользователям

Если отсутствует необходимый пользователь, флажок «Полный доступ» недоступен или возникает сообщение об ошибке, переходите к пункту 3.

  1. В меню разрешений нажать кнопку «Дополнительно»;
Рис. 12 – Добавление или смена владельца

Рис. 12 – Добавление или смена владельца

Примечание

Во время добавления разрешений и владельцев могут возникать сообщения об отсутсвии прав доступа. Данные сообщения можно смело игнорировать.

Перейти на вкладку «Владелец» и добавить текущего пользователя;

Рис. 13 – Выбор владельца

Рис. 13 – Выбор владельца

На вкладке «Разрешения» нажать кнопку «Добавить»;

Рис. 14 – Добавление разрешений владельцу

Рис. 14 – Добавление разрешений владельцу

В поле «Введите имена выбираемых объектов» ввести имя текущей учетной записи и нажать кнопку «Проверить имена», затем нажать «ОК»;

Рис. 15 – Ввод имени выбираемых объектов

Рис. 15 – Ввод имени выбираемых объектов

Рис. 16 – Проверка имен

Рис. 16 – Проверка имен

Появится диалог разрешений. Поставить галочку напротив «Полный доступ» и нажать «ОК»;

Рис. 17 – Установка полного доступа текущему владельцу

Рис. 17 – Установка полного доступа текущему владельцу

После добавления владельца и назначения прав нажать клавишу F5 или «Вид → Обновить». Напротив непустого раздела появится треугольник, который означает, что у текущего пользователя есть права на доступ в него.

Рис. 18 – Доступ к подразделам

Рис. 18 – Доступ к подразделам

На рисунке 18 видно, что у текущего пользователя есть доступ к подразделу Keys, но нет прав на открытие разделов KeyDevices и Random. Треугольника напротив подраздела может не быть, если данный подраздел пуст.

Примечание

В Windows 8 и выше порядок работы с диалогом смены и добавления владельца немного отличается – владелец выбирается сверху.

Рис. 19 – Выбор/смена владельца в Windows 8 и выше

Рис. 19 – Выбор/смена владельца в Windows 8 и выше [11]

Совет

Ручное добавление владельцев и прав доступа удобно, если нужно получить доступ всего к нескольким разделам. Если нужно получить доступ к большому количеству разделов, то гораздо целесообразнее воспользоваться утилитой PsExec.exe. Работа с данной утилитой рассматривается в разделе Работа через утилиту PsExec.

Работа через утилиту PsExec

Для запуска редактора реестра с полными правами от имени системы можно воспользоваться программой PsExec.exe.

  1. Скачайте утилиту PsExec.exe и скопируйте в корень диска C.
  2. Запустите командную строку от имени администратора. «Пуск → Выполнить → cmd».
  3. Введите в командную строку команду:
C:\PsExec.exe -i -s regedit.exe

Запустится редактор реестра от имени системы, что задается параметром -s (параметр -i обеспечивает интерактивный запуск приложения)[11].

Если возникает сообщение об ошибке Couldn't install PSEXESVC service..., то необходимо отключить контроль учетных записей Windows (UAC):

  1. Меню «Пуск → Панель управления»;
  2. «Учетные записи пользователей → Изменение параметров контроля учетных записей»;
  3. Сдвинуть ползунок до самого низа — «Никогда не уведомлять»;
  4. Перезагрузить компьютер.
Рис. 20 – Отключение параметров контроля учетных записей (UAC)

Рис. 20 – Отключение параметров контроля учетных записей (UAC)

В Windows Vista в диалоговом окне «Пуск → Панель управления → Учетные записи пользователей → Включение и отключение контроля учетных записей» снять галочку «Используйте контроль учетных записей для защиты компьютера».

В Windows 8 и выше для полного отключения контроля учетных записей (UAC) необходимо в реестре в ветке HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System присвоить параметру EnableLUA значение 0.

Рис. 21 – Отключение параметров контроля учетных записей (UAC) в Windows 8 и выше

Рис. 21 – Отключение параметров контроля учетных записей (UAC) в Windows 8 и выше

Внимание

После отключения параметров контроля учетных записей (UAC) необходима перезагрузка.

Добавление и удаление элементов

Для создания разделов, подразделов и параметров, необходимо перейти в меню «Правка → Создать» и выбрать необходимый тип создаваемого элемента. Либо нажать правой кнопкой мыши и в появившемся меню выбрать пункт «Создать».

Рис. 22 – Создание разделов, подразделов и параметров

Рис. 22 – Создание разделов, подразделов и параметров

Более подробную информацию о типах параметров смотрите в статье Сведения о реестре Windows для опытных пользователей.

Работа с реестром из командной строки

Работа с реестром возможна не только через утилиту regedit.exe, но и напрямую из командной строки с помощью утилиты REG, она поддерживает все возможности, которые имеет программа regedit.exe. И более того – она также поддерживает несколько особенных функций. Полезна в том случае когда работа с regedit по каким либо причинам невозможна.

К тому же это позволяет автоматизировать многие рутинные задачи и встраивать команды в скрипты.

Основной синтаксис

В общем виде синтаксис команды REG выглядит следующим образом:

REG <процедура> [список параметров]

Всего существует одиннадцать процедур, которые способна выполнять директива REG: QUERY, ADD, DELETE, COPY, SAVE, LOAD, UNLOAD, RESTORE, COMPARE, EXPORT, IMPORT. Каждая из этих процедур имеет, как правило, собственный набор параметров.

При вызове из командной строки директива REG пересылает в окружение операционной системы так называемый код возврата: сообщение об успешном или неуспешном выполнении операции. Если код возврата равен 0, это означает, что операция была выполнена успешно, если же она завершилась с ошибкой, код возврата будет равен 1.

Более подробные сведения об использовании утилиты REG вы можете получить, набрав в командной строке директиву REG /?, чтобы получить информацию о какой-либо из перечисленных процедур, воспользуйтесь командой REG <процедура> /?.

Сокращения

Для удобства ввода применяются сокращения названий веток реестра. Все сокращения представлены в таблице ниже:

Сокращения названий веток реестра
Ветка Сокращение
HKEY_CLASSES_ROOT HKCR
HKEY_CURRENT_USER HKCU
HKEY_LOCAL_MACHINE HKLM
HKEY_USERS HKU
HKEY_CURRENT_CONFIG HKCC

Вывод содержимого ветвей (QUERY)

Команда REG QUERY отправляет в системный реестр Windows запрос о содержимом ветвей, ключей, подразделов или параметров, и выводит на экран результат обработки этих запросов. В общем виде синтаксис данной команды записывается следующим образом:

REG QUERY [\Компьютер\]Путь [/v Параметр | /ve] [/s]

В составе директивы могут использоваться следующие параметры:

  • Компьютер – имя компьютера в локальной сети, если директива предназначена для обработки на удаленном компьютере. В случае, если этот параметр опущен, команда выполняется на локальном компьютере.
  • Путь – полный путь к целевому разделу реестра в виде корень\ключ\подраздел, где корень - сокращенное обозначение ветви реестра (HKLM, HKCU, HKCR, HKU или HKCC), а ключ\подраздел - полный путь к искомому подразделу в иерархии реестра, включая все вложенные подразделы.
  • /v – запрос о содержимом указанного раздела реестра.
  • Параметр – вывести имя и значение запрашиваемого параметра в указанном разделе.
  • /ve – запрос стандартного параметра с пустым именем.
  • /s – вывести список всех подразделов данного раздела реестра вместе с их содержимым.

В качестве примера получим содержимое ветки в которой хранятся закрытые ключи квалифицированных электронных подписей:

reg query "HKLM\SOFTWARE\Crypto Pro\Settings\Users\S-1-5-21-2889205033-3114528180-1522031737-1000\Keys"

Примечание

Лучше вводить путь в кавычках.

Будет выведен примерно такой результат:

HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\Users\S-1-5-21-2889205033-3114528180-1522031737-1000\Keys
def.key    REG_BINARY    300E0C0C415A415A415F6E6F70617373
HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\Users\S-1-5-21-2889205033-3114528180-1522031737-1000\Keys\2015ZAO_

Как видно из вывода, в реестре компьютера находится всего один контейнер 2015ZAO_.

Экспорт и импорт веток реестра (EXPORT и IMPORT)

Для экспорта используется команда EXPORT. Синтаксис команды:

REG EXPORT <имя_раздела> <имя_файла> [/y]
  • имя_раздела – полное имя подраздела реестра в одном из выбранных корневых разделов.
  • имя_файла – имя .reg файла, который получится после экспорта.
  • Параметр /y в конце команды позволяет выполнение замены существующего файла без запроса подтверждения.

Экспортируем контейнеры закрытых ключей на рабочий стол:

reg export "hklm\SOFTWARE\Crypto Pro\Settings\Users\S-1-5-2-1-2889205033-3114528180-1522031737-1000\Keys" C:\Users\Dmitry\Desktop\keys.reg /y
Операция успешно завершена.

Вся ветка с контейнерами успешно экспортирована на рабочий стол и сохранена в файле keys.reg. Теперь импортируем ее обратно.

Примечание

Команда доступна только для выполнения на локальном компьютере.

Для импорта используется команда IMPORT. Синтаксис команды:

REG IMPORT <имя_файла>

Выполним:

reg import C:\Users\747\Desktop\keys.reg
Операция успешно завершена.

Напомню, что для экспорта ветки на другом компьютере, необходимо будет изменить в файле keys.reg путь к ветке реестра с учетом разрядности операционной системы и SID текущего пользователя. Подробнее об импорте и экспорте закрытых ключей смотрите в Руководстве по работе с реестром ОС Windows в разделе Где хранятся ключи(закрытый ключ сертификата) в реестре? [1739].

Создание резервной копии реестра (SAVE и RESTORE)

Для резервного копирования и восстановления реестра используются следующие команды (типы операций) утилиты REG SAVE и REG RESTORE:

REG SAVE <имя_раздела> <имя_файла> [/y]

REG RESTORE <имя_раздела> <имя_файла>

Примечание

В данному разделе перечислены основные команды утилиты REG для получения более подробной информации обратитесь к ресурсам, перечисленным в разделе Дополнительные ссылки

Практические приёмы работы с Реестром

В данном разделе рассматриваются практические примеры работы с реестром:

Лицензия КриптоПро в реестре [1017]

Лицензия КриптоПро хранится в реестре, её можно оттуда скопировать, либо ввести.

  1. Перейти в ветку:

КриптоПро 3.6:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer
\UserData\S-1-5-18\Products\05480A45343B0B0429E4860F13549069\InstallProperties

КриптоПро 3.9:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer
\UserData\S-1-5-18\Products\68A52D936E5ACF24C9F8FE4A1C830BC8\InstallProperties

КриптоПро 4.0:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer
\UserData\S-1-5-18\Products\7AB5E7046046FB044ACD63458B5F481C\InstallProperties

КриптоПро 3.0:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18
\Products\0CC4F742C3275A04A9832E2E2CD4BE64\InstallProperties\ProductID
  1. Открыть двойным нажатием левой кнопки мыши параметр ProductID и прописать в поле Значение серийный номер лицензии (можно с дефисами, можно без). Либо скопировать номер лицензии оттуда.

Где хранятся ключи(закрытый ключ сертификата) в реестре? [1739]

Реестр может использоваться в качестве ключевого носителя, другими словами, в него можно скопировать Квалифицированную электронную подпись (КЭП). После копирования закрытые ключи будут находиться:

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

Где SID (идентификатор пользователя) (англ. Security Identifier (SID)) — структура данных переменной длины, которая идентифицирует учетную запись пользователя, группы, домена или компьютера.

Узнать SID пользователя можно через командную строку («Пуск → Выполнить → cmd»), введя команду WHOAMI /USER.

Рис. 23 – Узнать SID пользователя через командную строку

Рис. 23 – Узнать SID пользователя через командную строку

Совет

Чтобы скопировать текст из командной строки Windows, необходимо нажать правой кнопкой мыши на заголовок окна консоли и в меню «Свойства» на вкладке «Общие» включить опцию «Выделение мышью».


Восстановление закрытых ключей с неисправного компьютера

Есть возможность восстановить закрытые ключи сертификата, если они были записаны в реестре компьютера и этот компьютер сломался.

Это можно сделать только в том случае, если жесткий диск в рабочем состоянии и есть возможность его подключить к рабочему системному блоку. Или есть копия папки C:\Windows\System32\config\.

Если условия выполняются, необходимо проделать следующее:

  1. Подключить жесткий диск от неработающего компьютера к рабочему системному блоку;
  1. Скачать утилиту PsExec.exe и скопировать ее в корень диска C.

Открыть редактор реестра с помощью утилиты PsExec.exe (см. раздел Работа через утилиту PsExec). В командной строке («Пуск → Выполнить → cmd») ввести команду;

C:\PsExec.exe -i -s regedit.exe
  1. Загрузить куст HKEY_LOCAL_MACHINE\Software (см. раздел Загрузка и выгрузка куста):

    • Перейти в раздел HKEY_LOCAL_MACHINE;
    • Выбрать «Файл → Загрузить куст»;
    • В файловом менеджере выбрать соответствующий файл куста с нерабочего компьютера C:\Windows\System32\config\SOFTWARE;
    • Задать произвольное имя загруженному кусту, например, AZAZAZ.
Загрузка куста может занять некоторое время.
  1. Перейти в раздел, в котором хранятся КЭП;
  • для 32-битной ОС:
HKEY_LOCAL_MACHINE\ASASAS\CryptoPro\Settings\
Users\(идентификатор пользователя)\Keys\(Название контейнера)
  • для 64-битной ОС:
HKEY_LOCAL_MACHINE\ASASAS\Wow6432Node\Crypto Pro\Settings
\USERS\(идентификатор пользователя)\Keys\(Названиеконтейнера)

В некоторых случаях сертификат попадает сюда:

HKEY_USERS\S-1-5-21-{SID}_Classes\VirtualStore\MACHINE\SOFTWARE
\[Wow6432Node]\Crypto Pro\Settings\USERS\S-1-5-21-{SID}\Keys\
  1. После того, как найден нужный раздел с ключами:
  • Нажать на подраздел keys правой кнопкой мыши и выбрать пункт «Экспортировать» (см. раздел Создание резервной копии реестра (Экспорт)).
  • Выбрать место для сохранения и задать имя файла. Экспортированный файл будет иметь расширение .reg.
  • Если требуется, перенести экспортированный файл с расширением .reg на другой компьютер.
  1. Открыть экспортированный файл с расширением .reg в текстовом редакторе (Notepad++, Блокнот) и изменить в файле идентификатор пользователя (SID) на идентификатор текущего пользователя, для этого:
Рис. 24 – Изменение пути к веткам реестра

Рис. 24 – Изменение пути к веткам реестра

Совет

Чтобы скопировать текст из командной строки Windows, необходимо нажать правой кнопкой мыши на заголовок окна консоли и в меню «Свойства» на вкладке «Общие» включить опцию «Выделение мышью».

Важно

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

  1. Сохранить изменения в файле и открыть его двойным щелчком мыши (см. раздел Восстановление реестра из резервной копии (Импорт)). Разрешить внести изменения в реестр.
После этого выполнить установку открытого ключа через Крпто Про CSP (Инструкция по установке личного сертификата).

Предупреждение

Перед тем, как вносить изменения в реестр, обязательно создавайте его резервную копию. Подробнее в разделе Создание резервной копии реестра (Экспорт).

  1. В конце рекомендуется выгрузить ранее загруженный куст «Файл → Выгрузить куст».

Совет

Можно запускать реестр и не используя утилиту PsExec.exe, но тогда придется добавлять загруженным веткам права и разрешения вручную так, как описано в разделе Права доступа (Разрешения). Это не критично, если речь идет, например, о копировании всего одного контейнера закрытого ключа. Если файлов много, то гораздо быстрее и удобнее использовать PsExec.exe.

Рекомендую всегда держать на готове утилиту PsExec.exe, ее скачивание и копирование занимает не так много времени.


Извлечение информации из резервной копии реестра

Резервные копии реестра обычно создаются автоматически каждые десять дней. Сохраняются они в папке:

  • C:\Windows\System32\config\RegBack – для Windows 7 и Server 2008;
  • C:\Windows\repair – для XP и Server 2003.

Данные папки содержит те же файлы, что и C:\Windows\System32\config\.

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

Порядок действия аналогичен, описанному порядку в инструкции Восстановление закрытых ключей с неисправного компьютера. Отличается только файл загружаемого куста C:\Windows\System32\config\RegBack\Software.


Доступ к считываетлям (Calais)

Иногда возникает проблема с доступом к считывателям смарт-карт. Она может быть связана с тем, что у текущего пользователя недостаточно прав на следующие ветки:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Calais

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Calais\Readers

Подробнее о настройке прав доступа читайте в разделе Права доступа (Разрешения).

Примечание

Может возникнуть ситуация, когда текущий пользователь системы даже не будет являться владельцем данных веток реестра, следовательно, у него не будет прав на них. В таком случае, необходимо сначала добавить текущего пользователя во владельцы этих веток, а затем проставить ему соответствующие права, как описано в разделе Права доступа (Разрешения) данного руководства.


Доверенные узлы

Если узел не добавляется в надежные узлы, можно добавить его вручную через реестр, для этого необходимо:

  1. Перейти в ветку HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains;
  2. Добавить подраздел с названием домена, например, kontur.ru;
  3. В добавленном подразделе создать еще один подраздел с названием субдомена: extern;
  4. Добавить параметр DWORD https со значением 2
Рис. 25 – Добавление зон надежных узлов вручную

Рис. 25 – Добавление зон надежных узлов вручную