Копирование контейнера закрытого ключа КриптоПро в реестр
В этой небольшой инструкции будет описано как скопировать ключ («закрытую часть», так же «контейнер закрытого ключа» или «персональный ключ» — основной компонент квалифицированной подписи, без которого ничего не будет работать) в реестр компьютера.
Зачем это нужно?
Скопировав ключ в реестр можно будет работать с подписью не подключая к компьютеру флешку (или токен). Удобно, если у вас множество ключей для различных порталов или программ.
Важно отметить, что это в некотором смысле снижение уровня безопасности — лично я не рекомендую делать подобную настройку на местах, к которым есть публичный доступ. Так же настоятельно рекомендую установить пароль на вход в компьютер и настроить блокирование этим паролем заставки экрана.
Теперь, когда вы уверены в том, что хотите сделать, разберемся с тем как это, собственно, делается. 🙂
Поиск нужного контейнера и копирование
Разберемся какой ключ нам нужен
Если ключей много — например несколько лет подряд делали и получали ключи на одной флешке — будет не лишним разобраться какой именно из них сейчас действует.
Для этого зайдите в панель управления КриптоПро — нажмите кнопку Пуск и наберите в поиске КриптоПро
В панели управления на вкладке Сервис нажмите кнопку Просмотреть сертификаты в контейнере.
Кнопка Обзор покажет список всех подключенных контейнеров
Выберите контейнер и нажмите кнопку Далее

Обратите внимание: ключи, выданные Федеральным казначейством имеют определенный формат именования контейнеров. Для ключей физических лиц это ФИО и уникальный цифровой код контейнера (в этом примере — 1004174130). Для ключа юридического лица — либо краткое наименование организации и уникальный код, либо ОГРН организации и уникальный код.
Запишите себе этот код — по нему вы найдете нужный ключ при последующих операциях.
Последнее окно мастера покажет информацию о сертификате, установленном в данном контейнере. Обычно даты действия сертификата достаточно, но если нужна более подробная информация — например у вас несколько сертификатов физ. лица (как пример — отдельный для СУФД) — по кнопке Свойства откроется подробная информация о сертификате.

Первый способ может не сработать, если сертификат еще не устанавливался в контейнер — например вы только получили ключ.
В этом случае проверить соответствие ключа и сертификата можно по-другому.
Во вкладке Сервис панели управления КриптоПро нажмите кнопку Установить личный сертификат.
С помощью кнопки Обзор выберите файл сертификата и нажмите Далее.
По дате действия можно убедиться что выбран правильный файл. Если все верно — нажмите кнопку Далее.
Установите галочку Найти контейнер автоматически. КриптоПро просканирует флешку и выберет подходящий к сертификату контейнер. Так же как и в первом способе зафиксируйте уникальный код контейнера.
Установку сертификата можно не продолжать и нажать кнопку Отмена — позже мы вернемся к этому мастеру, когда будет готова копия ключа.
Копирование ключа
Теперь когда вы знаете какой ключ вам нужен, займемся копированием.
Все в той же вкладке Сервис нажмите кнопку Скопировать.
Нажав кнопку Обзор и вооружившись записанным ранее уникальным кодом контейнера выберите нужный ключ. Нажмите Далее.
Введите пароль от ключа.
Это тот пароль, который вы придумывали при генерации ключа (когда оформляли заявление).
Далее мастер предложит задать имя новому контейнеру. Как правило того имени, которое он предлагает достаточно, но если у вас есть идеи как организовать свои копии вы можете воспользоваться этим функционалом.
Для завершения копирования нажмите Готово.
Будет предложено выбрать носитель для нового контейнера. В нашем случае нужно выбрать устройство Реестр.
Теперь нужно задать пароль на копию — дважды ввести пароль. Можно ввести тот же пароль, который стоит и на оригинале, можно придумать новый.
Программа оповестит вас об успешно созданном контейнере.

Таким же образом можно делать копии на рутокены или другие устройства, которые работают с КриптоПро
Или наоборот — если флешка сломалась, но вы работаете с реестром — сделайте копию из реестра на новую чистую флешку — так вы восстановите «оригинал».
Установка личного сертификата со ссылкой на копию контейнера
Последний шаг — установить сертификат так, чтобы он обращался к нужному ключу.
Для этого на вкладке Сервис панели управления КриптоПро нажмите Установить личный сертификат.
Кнопкой Обзор выберите файл сертификата и нажмите Далее два раза.
Вновь используя кнопку Обзор выберите новый контейнер — с » — Copy» в имени, или с тем именем, которое вы ему задали.
Дважды нажмите Далее, затем — Готово.
Спросит пароль — введите пароль от копии ключа.

На этом все!
Проверить работоспособность можно зайдя на портал, для которого предназначен ключ, или подписав им документ — подпись будет работать вне зависимости от наличия флешки в компьютере.
Выгрузка из реестра контейнера КриптоПро CSP
В том случае, когда в качестве криптопровайдера используется СКЗИ КриптоПро CSP, а в качестве считывателя используется реестр, контейнеры хранятся в ветке реестра:
- В x32 операционных системах контейнеры находятся в ветке: HKEY_LOCAL_MACHINE\SOFTWARE\CryptoPro\Settings\Users\
\Keys\ - В x64 операционных системах контейнеры находятся в ветке: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\CryptoPro\Settings\Users\
\Keys\
Если контейнеры требуется перенести вручную на другой ПК, выгрузите ветку реестра.
На том рабочем месте, куда нужно импортировать контейнеры, проверьте разрядность ОС и узнайте SID пользователя.
SID — Идентификатор безопасности пользователя ОС Windows. У каждого пользователя Windows свой SID. Для того, чтобы узнать SID пользователя запустите ОС Windows под его учетной записью, после чего перейдите в командную строку (Пуск → Выполнить → cmd) и введите команду whoami/user. Команда отобразит основные сведения о текущем пользователе, включая его SID
Пример SID: S-1-5-12-12345678-1234567890-1234567890-1234.
После этого откройте с помощью блокнота выгруженный файл реестра в формате .reg, измените SID и, если необходимо, путь к конечной ветке.
После этого загрузите ветку реестра в систему.
Для использования электронной подписи на другом ПК, на нем должен быть установлен СКЗИ КриптоПро CSP, после добавления ветки реестра необходимо установить сертификат.
Практические приёмы работы с Реестром¶
В данном разделе рассматриваются практические примеры работы с реестром:
Лицензия КриптоПро в реестре [1017]¶
Лицензия КриптоПро хранится в реестре, её можно оттуда скопировать, либо ввести.
- Перейти в ветку:
КриптоПро 3.6:
КриптоПро 3.9:
КриптоПро 4.0:
КриптоПро 3.0:
- Открыть двойным нажатием левой кнопки мыши параметр ProductID и прописать в поле Значение серийный номер лицензии (можно с дефисами, можно без). Либо скопировать номер лицензии оттуда.
Где хранятся ключи(закрытый ключ сертификата) в реестре? [1739]¶
Реестр может использоваться в качестве ключевого носителя, другими словами, в него можно скопировать Квалифицированную электронную подпись (КЭП). После копирования закрытые ключи будут находиться:
- для 32-битной ОС:
- для 64-битной ОС:
- В некоторых случаях сертификат попадает сюда:
Где SID (идентификатор пользователя) (англ. Security Identifier (SID)) — структура данных переменной длины, которая идентифицирует учетную запись пользователя, группы, домена или компьютера.
Узнать SID пользователя можно через командную строку («Пуск → Выполнить → cmd»), введя команду WHOAMI /USER .

Рис. 23 – Узнать SID пользователя через командную строку
Чтобы скопировать текст из командной строки Windows, необходимо нажать правой кнопкой мыши на заголовок окна консоли и в меню «Свойства» на вкладке «Общие» включить опцию «Выделение мышью».
Восстановление закрытых ключей с неисправного компьютера¶
Обязательно ознакомьтесь с главой Работа с Редактором реестра и разделами:
Есть возможность восстановить закрытые ключи сертификата, если они были записаны в реестре компьютера и этот компьютер сломался.
Это можно сделать только в том случае, если жесткий диск в рабочем состоянии и есть возможность его подключить к рабочему системному блоку. Или есть копия папки C:\Windows\System32\config\ .
Если условия выполняются, необходимо проделать следующее:
- Подключить жесткий диск от неработающего компьютера к рабочему системному блоку;
-
утилиту PsExec.exe и скопировать ее в корень диска C .
Открыть редактор реестра с помощью утилиты PsExec.exe (см. раздел Работа через утилиту PsExec ). В командной строке («Пуск → Выполнить → cmd») ввести команду;
Загрузить куст HKEY_LOCAL_MACHINE\Software (см. раздел Загрузка и выгрузка куста ):
- Перейти в раздел HKEY_LOCAL_MACHINE ;
- Выбрать «Файл → Загрузить куст»;
- В файловом менеджере выбрать соответствующий файл куста с нерабочего компьютера C:\Windows\System32\config\SOFTWARE ;
- Задать произвольное имя загруженному кусту, например, AZAZAZ .
- Перейти в раздел, в котором хранятся КЭП ;
- для 32-битной ОС:
- для 64-битной ОС:
В некоторых случаях сертификат попадает сюда:
- После того, как найден нужный раздел с ключами:
- Нажать на подраздел keys правой кнопкой мыши и выбрать пункт «Экспортировать» (см. раздел Создание резервной копии реестра (Экспорт) ).
- Выбрать место для сохранения и задать имя файла. Экспортированный файл будет иметь расширение .reg .
- Если требуется, перенести экспортированный файл с расширением .reg на другой компьютер.
- Открыть экспортированный файл с расширением .reg в текстовом редакторе (Notepad++, Блокнот) и изменить в файле идентификатор пользователя (SID) на идентификатор текущего пользователя, для этого:

Рис. 24 – Изменение пути к веткам реестра
- В командной строке («Пуск → Выполнить → cmd») ввести команду WHOAMI /USER (см. рисунок Рис. 23 – Узнать SID пользователя через командную строку ).
Чтобы скопировать текст из командной строки Windows, необходимо нажать правой кнопкой мыши на заголовок окна консоли и в меню «Свойства» на вкладке «Общие» включить опцию «Выделение мышью».
Если разрядность(битность) текущей системы отличается от той, на которой находился контейнер закрытого ключа, то необходимо проверить и при необходимости исправить путь в текстовом редакторе.
- Сохранить изменения в файле и открыть его двойным щелчком мыши (см. раздел Восстановление реестра из резервной копии (Импорт) ). Разрешить внести изменения в реестр.
Перед тем, как вносить изменения в реестр, обязательно создавайте его резервную копию. Подробнее в разделе Создание резервной копии реестра (Экспорт) .
- В конце рекомендуется выгрузить ранее загруженный куст «Файл → Выгрузить куст».
Можно запускать реестр и не используя утилиту 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)¶
Иногда возникает проблема с доступом к считывателям смарт-карт. Она может быть связана с тем, что у текущего пользователя недостаточно прав на следующие ветки:
Подробнее о настройке прав доступа читайте в разделе Права доступа (Разрешения) .
Может возникнуть ситуация, когда текущий пользователь системы даже не будет являться владельцем данных веток реестра, следовательно, у него не будет прав на них. В таком случае, необходимо сначала добавить текущего пользователя во владельцы этих веток, а затем проставить ему соответствующие права, как описано в разделе Права доступа (Разрешения) данного руководства.
Доверенные узлы¶
Если узел не добавляется в надежные узлы, можно добавить его вручную через реестр, для этого необходимо:
Как скопировать контейнер/закрытую часть ключа?
Если для работы используется дискета или flash-накопитель, копирование можно выполнить средствами Windows (этот способ подходит для версий КриптоПро CSP не ниже 3.0). Папку с закрытым ключом (и файл сертификата — открытый ключ, если он есть) необходимо поместить в корень дискеты (flash-накопителя). Название папки при копировании рекомендуется не изменять. Папка с закрытым ключом должна содержать 6 файлов с расширением .key.
Пример закрытого ключа — папки с шестью файлами, и открытого ключа — файла с расширением .cer.

Копирование контейнера также можно выполнить с помощью КриптоПро CSP. Для этого необходимо выполнить следующие шаги:Как правило, в закрытом ключе присутствует открытый ключ (файл header.key в этом случае будет весить больше 1 Кб). В этом случае копирование открытого ключа выполнять не обязательно.
Копирование с помощью КриптоПро CSP
1. Выбрать Пуск / Панель Управления / КриптоПро CSP.
2. Перейти на вкладку Сервис и кликнуть по кнопке Скопировать контейнер.

3. В окне «Копирование контейнера закрытого ключа» нажмите на кнопку «Обзор».

4. Выберите контейнер, который необходимо скопировать, и кликните по кнопке «Ок», затем «Далее».

5. Если вы копируете с защищённого ключевого носителя, то появится окно ввода, в котором следует указать pin-код.
6. Если вы не меняли pin-код на носителе, стандартный pin-код необходимо вводить соответственно его типу:
Rutoken — стандартный pin-код 12345678
eToken /JaCarta – 1234567890
7. В следующем окне необходимо ввести имя Вашей копии. Придумайте и укажите вручную имя для нового контейнера. В названии контейнера допускается русская раскладка и пробелы. Затем кликните «Готово».

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

9. На новый контейнер будет предложено установить пароль. Рекомендуем установить такой пароль, чтобы вам было легко его запомнить, но посторонние не могли его угадать или подобрать. Если вы не хотите устанавливать пароль, можно оставить поле пустым и нажать «ОК».

В случае утери пароля/pin-кода использование контейнера станет невозможным.
10. Если вы копируете контейнер на смарт-карту ruToken/eToken /JaCarta, окно запроса будет выглядеть так:

11. В окне ввода укажите pin-код. Если вы не меняли pin-код на носителе, стандартный pin-код
Rutoken — 12345678
eToken /JaCarta – 1234567890
12. После копирования система вернется на вкладку «Сервис» КриптоПро CSP. Копирование завершено.
13. Для работы с копией ключевого контейнера необходимо установить личный сертификат.
14. В меню Пуск выберите пункт «КРИПТО-ПРО», запустите приложение «КриптоПро CSP»
15. Перейдите на вкладку «Сервис» и нажмите кнопку «Просмотреть сертификаты в контейнере»:

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

17. После выбора контейнера нажмите кнопку Ок, затем Далее
18. Если после нажатия на кнопку Далее Вы видите такое сообщение:

19. «В контейнере закрытого ключа отсутствует открытый ключ шифрования», следует установить сертификат по рекомендациям, описанным в разделе «Установка через меню «Установить личный сертификат».
20. В окне Сертификат для просмотра нажмите кнопку Установить:

21. Если откроется сообщение «Этот сертификат уже присутствует в хранилище сертификатов. Заменить существующий сертификат новым, с проставленной ссылкой на закрытый ключ?», нажмите Да:

22. Дождитесь сообщения об успешной установке:

23. Сертификат установлен. Можно закрыть все открытые окна КриптоПро.
Установка через меню «Установить личный сертификат».
1. Для установки сертификата этим способом Вам понадобится файл сертификата (файл с расширением.cer).

2. В меню Пуск выберите пункт «КРИПТО-ПРО», запустите приложение «КриптоПро CSP»
3. Перейдите на вкладку «Сервис» и нажмите кнопку «Установить личный сертификат»:

4. В следующем окне нажмите кнопку Обзор, чтобы выбрать файл сертификата. Укажите путь к файлу сертификата и нажмите кнопку Открыть (в нашем примере файл сертификата находится на Рабочем столе):

5. В следующем окне нажмите кнопку Далее; в окне Сертификат для установки нажмите Далее.
6. Поставьте галку в окне Найти контейнер автоматически (в нашем примере контейнер находится в Реестре компьютера) и нажмите Далее:

7. В следующем окне отметьте пункт Установить сертификат (цепочку сертификатов) в контейнер и нажмите Далее:

8. В окне Завершение мастера установки личного сертификата нажмите Готово.
9. Если КриптоПро CSP запрашивает pin-код от контейнера, введите нужный код или попробуйте стандартные pin-коды носителей:
Rutoken — 12345678
eToken /JaCarta – 1234567890
10. Если откроется сообщение «Этот сертификат уже присутствует в хранилище сертификатов. Заменить существующий сертификат новым, с проставленной ссылкой на закрытый ключ?», нажмите Да:

11. Сертификат установлен. Можно закрыть все открытые окна КриптоПро.