Найти в Дзене
Всё об всём.

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

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

wmic useraccount where name='user' get sid

В данном случай user - имя учетной записи, для которой узнаем SID. Далее скопируем контейнеры закрытых ключей в файл. Для этого на компьютере открываем редактор реестра (regedit.exe) и переходим в ветку:

\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Crypto Pro\Settings\Users\S-1-5-21-4126888996-1677807805-1843639151-1000\Keys --- это для 64 разрядной системы.\

\HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\Users\S-1-5-21-4126888996-1677807805-1843639151-1000\Keys --- это для 32 разрядной системы.

где S-1-5-21-4126888996-1677807805-1843639151-1000 - это SID пользователя, у которого копируем сертификаты.

Далее выбираем папку Keys и экспортируем ее.

Сохраняем ветку реестра в файл. В ней хранятся закрытые ключи. Теперь нам нужно скопировать сразу все сертификаты. В Windows 7, 8 и 10 они живут в директории - C:\Users\user\AppData\Roaming\Microsoft\SystemCertificates\My. Сохраняйте эту директорию. Для переноса ключей и сертификатов нам надо скопировать на другой компьютер сохраненную ветку реестра и директорию с сертификатами My.

После того, как перенесли файлы со старого компьютера на новый, открываем файл с веткой реестра в текстовом редакторе и меняем там SID пользователя со старого компьютера на SID пользователя нового компьютера. (как поглядеть SID нового пользователя описано выше) Можно прям в блокноте это сделать поиском с заменой старого SID на новый SID.

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