Как скопировать или перенести сертификаты КриптоПро (CryptoPro)

Как скопировать или перенести сертификаты КриптоПро (CryptoPro) ЭЦП

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

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

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

Криптопро csp ошибка 0x80090010 отказано в доступе

Иногда после переноса контейнеров закрытых ключей через экспорт — импорт ветки реестра с ключами можно увидеть ошибку доступа к контейнерам. Вроде бы все на месте, ключи есть в реестре. Их можно увидеть в останстке CryptoPro, но не получается прочитать. При попытке это сделать возникает ошибка:

Ошибка обращения к контейнеру закрытого ключа. Ошибка 0x80090010: Отказано в доступе. Связано это с тем, что у текущего пользователя, под которым вы хотите получить доступ к контейнеру, нет полных прав на ветку реестра с хранящимися ключами. Исправить это просто. Переходите в редактор реестра и выставляйте полные права к ветке Keys для текущего пользователя.

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

Массовый перенос ключей и сертификатов cryptopro с компьютера на компьютер

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

Перенос криптопро, ключей эцп, сертификатов с одного компьютера на другой.

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


HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsСurrentVersionInstallerUserDataS-1-5-18Products5480A45343B0B0429E4860F13549069InstallProperties. 

Ключ ProductID содержит искомый серийник.
Имя раздела 05480A45343B0B0429E4860F13549069 может оказаться другим, но найти не трудно. Сюда
же можно и вписать его вручную, как это в некоторых случаях предлагают
сделать специалисты тех. поддержки системы контур-экстерн
(http://www.kontur-extern.ru/support/faq/34/225)

Инструкция по переносу лицензии КриптоПро, закрытых ключей ЭЦП и сертификатов с одного компьютера на другой.
1. Перенос лицензии криптопро.
Серийный номер КриптоПро CSP 3.6 находится в ветке реестра
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionInstallerUserDataS-1-5-18Products5480A45343B0B0429E4860F13549069InstallProperties]
в значении параметра ProductID (имя раздела 05480A45343B0B0429E4860F13549069 может оказаться другим).
2. Перенос закрытых ключей ЭЦП. (Имеются ввиду ЭЦП хранящиеся в реестре, для ключей хранящихся на флешках, и токенах действие не требуется.)
2.1 Узнать SID текущего пользователя (нужен пользователь у которого ключи).
Способ 1: командой

whoami /user

Способ 2:Найти ветку реестра

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProfileList]

.Выбрать
SID (имеет вид, например,
S-1-5-21-1993962763-492894223-1202660629-6195), и посмотреть
ProfileImagePath, в конце строки найдете имя пользователя, которому
принадлежит этот SID.

2.2. Для 32 битных систем нужно экспортировать ветку

[HKEY_LOCAL_MACHINESOFTWARECrypto ProSettingsUSERSSID_текущего_пользователяKeys]

в reg-файл.

Для 64-битных систем нужно экспортировать ветку

[HKEY_LOCAL_MACHINESOFTWAREWow6432NodeCrypto ProSettingsUSERSSID_текущего_пользователяKeys]

.

Эти ветки доступны только для текущего пользователя и при попытке открыть их от имени другого получим:

«Не удается открыть . Не удается открыть этот раздел из-за ошибки. Сведения: Отказано в доступе.»

 
Если у вас нет возможности залогиниться под нужным пользователем, то
вам поможет утилита Марка Руссиновича psexec (скачать можно

с течнета

или

отсюда

) , которая позволяет запускать процессы от имени системной учетки. С помощью psexec запускаем regedit от имени системы:

psexec -i -d -s c:windowsregedit.exe

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

C:WindowsSystem32configSOFTWARE

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

2.3. В reg-файле меняем через автозамену SID_текущего_пользователя, на SID пользователя в новой сисмеме.

2.4. Запускаем reg-файл, после этого все готово, но необходимо будет
заново установить личные сертификаты для того что бы привязать
сертификаты к контейнерам. Если не видно контейнеров, то неправильно
указали SID_пользователя, т.к. контейнеры видны только под тем
пользователем, под SID’ом которого они находятся.

Если перенести ключи данным способом не получается можно скопировать ЭЦП на флешку (

КриптоПро: Перенос ключей ЭЦП с дискет на флешку или в реестр

).

3. Перенос сертификатов. 
Способ 1. Экспорт-импорт сертификатов.

Выполнить

certmgr.msc

.
В открывшемся окне переходим Личное->Сертификаты. Далее правой
кнопкой по сертификату -> Все задачи -> Экспорт… В мастере
экспорта нажимаем далее, выбираем экспортировать закрытый ключ или нет,
выбираем нужный формат и нажимаем далее. Импорт личных сертификатов,
которые используются в КриптоПро, нужно делать через

Панель управления -> КриптоПро -> вкладка «Сервис» -> «Установить личный сертификат».

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

Способ 2. Установка сертификатов из контейнеров ЭЦП.

При установке личного сертификата в КриптоПро версии 3.6 и выше
существует возможность скопировать сертификат в контейнер закрытого
ключа. Данная процедура позволяет значительно облегчить процесс
переноса. Если сертификат установлен в контейнер закрытого ключа, не
нужно ни чего экспортировать, достаточно просто перенести контейнеры, а
потом зайти в

Панель управления -> КриптоПро -> вкладка «Сервис» ->»Просмотреть сертификаты в контейнере»

выбрать нужный контейнер и нажать кнопки «Далее» и «Установить».

В том случае, если нужно перенести 100500 ключей сразу, поможет одна
из составляющих пакета PKI Tools, которая автоматизирует процесс
установки сертификатов из контейнеров. Скачать пакет можно отсюда или отсюда.

Помогла статья? подписывайся на telegram канал автора


Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Часто задаваемые вопросы по теме статьи (faq)

Есть ли какой-то очень простой способ скопировать сертификаты crypto pro? То, что описано в статье слишком сложно для меня.

Да, есть статья на сайте контура, в ней ссылка на утилиту для копирования контейнеров Certfix. Можете воспользоваться ей.

Оцените статью
ЭЦП64
Добавить комментарий