Как перенести закрытый ключ от КриптоПро на другую учетную запись, при утери пароля от закрытого ключа!?...
Будем использовать не вполне очевидный способ, например данный способ может перенести ключи от крипто-контейнера, в другую учетную запись.
Приведу небольшой пример, был компьютер в домене с учетной записью, на этой учетной записи был установлен КриптоПро v 3.6 + сертификат,
домен слетел к чертям собачим. Был поднят новый контроллер домена, админ вышел из домена, где хранились сертификаты для этой учётной записи, завел новые учетный записи, и ввел данный компьютер в домен, соответственно зайти в предыдущую учётную запись было невозможно, бекап крипто-контейнера не был сделан., как и закрытого ключа от сертификата тоже(был успешно потерян).
Наглядный пример:
DOMEN1/User1(с сертификатами и закрытым ключом).
DOMEN2/User1(Новый юзер), которому надо перенести крипто-контейнеры из учётной записи DOMEN1/User1.
Что потребуется!?
Крипто-Про устанавливается в реестр по адресу: HKEY_LOCAL_MACHINE\Software\CryptoPro.
Нужно запустить regedit с правами NT_SYSTEM(SYSTEM), для этого есть несколько вариантов :
1)
C:\>PsExec.exe -i -d -s regedit
Для этого способа потребуется скачать пакет утилит Internals Марка Руссиновча.
https://docs.microsoft.com/en-us/sysinternals/downloads/pstools
2)
at 12:23 /interactive cmd.exe
После запуска regedit, переходим по ветки где установлен Крипто-Про, далее переходим в Users, там мы видим, sid'ы пользователей, как и разделы Keys, Devices. Нам нужно отыскать нужного пользователя, как найти такого пользователя!?....
Нам нужно перейти в ветку реестра :
Перейдите к разделу HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList.
Смотрим сиды, нужных пользователей, и так источник у нас SRC назначение DST.
Мы должны найти SRC = DOMEN1/User1, справа от нужного сида будет показана рабочая папка пользователя определяем что это DOMEN1/USER, определяем так-же DST = DOMEN2/User2.
Далее переходим в папку КриптоПро и экспортируем разделы Keys и Devices.
Открываем их с помощью блокнота, изменяем в них только сиды SRC на DST.
Не закрывая regedit выбираем файл -> делаем импорт, нужных файлов. keys.reg, devices.reg. Очень важно чтобы все выполнялось от имени NT_SYSTEM(regedit), далее перезагружаемся.
Вот так можно перенести сертификаты + закрытые ключи из одной учетной записи в другую. Данный способ подойдет, если есть нет бекапов, либо при потери закрытых лючей, но при этом точно известно что данные есть в учётной записи.