Неэкспортируемые контейнеры крипто про как перенести
Перейти к содержимому

Неэкспортируемые контейнеры крипто про как перенести

  • автор:

Переносим неэкспортируемые контейнеры Крипто-ПРО

Иногда случается так что необходимо перенести клиент-банк или другое разнообразное бухгалтерское и не очень ПО с одного компьютера на другой.
В том случае когда в качестве криптопровайдера выступает СКЗИ Крипто-ПРО обычно проблем не возникает — СКЗИ имеет штатные средства копирования ключей. Но не всегда все гладко — в том случае, когда ключевой контейнер находится в реестре Windows, и при генерации ключа не была выставлена галочка «Пометить ключ как экспортируемый» то при попытке скопировать куда-либо этот ключ Крипто-ПРО будет ругаться и не скопирует ключ.
Из этой ситуации есть очень простой выход — выгружаем ветку реестра HKLM/SOFTWARE/CryptoPro/Settings/Users//Keys (в x64 операционках контейнеры лежат в HKLM/SOFTWARE/Wow6432/Node/CryptoPro/Settings/Users//Keys), а на том ПК куда необходимо импортировать смотрим разрядность ОСSID пользователя, блокнотом правим .reg файл (меняем SID и, если необходимо, путь к конечной ветке), и импортируем его в реестр.
Также этим методом очень удобно бекапить и клонировать ключи тогда, когда их много(например в аутсорс-бухгалтериях).

P.S. Не забывайте после переноса установить сертификаты из криптоконтейнеров в «Личные».

Переносим неэкспортируемые контейнеры Крипто-ПРО

Иногда случается так что необходимо перенести клиент-банк или другое разнообразное бухгалтерское и не очень ПО с одного компьютера на другой. В том случае когда в качестве криптопровайдера выступает СКЗИ Крипто-ПРО обычно проблем не возникает — СКЗИ имеет штатные средства копирования ключей. Но не всегда все гладко — в том случае, когда ключевой контейнер находится в реестре Windows, и при генерации ключа не была выставлена галочка «Пометить ключ как экспортируемый» то при попытке скопировать куда-либо этот ключ Крипто-ПРО будет ругаться и не скопирует ключ.
Из этой ситуации есть очень простой выход — выгружаем ветку реестра HKLM\SOFTWARE\CryptoPro\Settings\Users\ \Keys\(в x64 операционках контейнеры лежат в HKLM\SOFTWARE\Wow6432Node\CryptoPro\Settings\Users\ \Keys\), а на том ПК куда необходимо импортировать смотрим разрядность ОС\SID пользователя, блокнотом правим .reg файл(меняем SID и, если необходимо, путь к конечной ветке), и импортируем его в реестр.
Также этим методом очень удобно бекапить и клонировать ключи тогда, когда их много(например в аутсорс-бухгалтериях).
P.S. Не забывайте после переноса установить сертификаты из криптоконтейнеров в «Личные».

В крипто-про на контейнеры можно ставить пин-код.
А так же при вводе этого пин-кода можно поставить галочку «сохранить» — и в дальнейшем его вводить не придётся.
Иногда после этого пин-код благополучно забывают (что и произошло у нас в компании).

При копировании вышеописанным методом, контейнер остаётся защищён пин-кодом — а вот «сохранение» этого пин-кода не переносится на новый компьютер.

Что можно сделать в таком случае?

Если исходный компьютер ещё жив — заходим в панель управления -> КриптоПро CSP -> Сервис -> Скопировать
Выбираем нужный контейнер (кнопка «обзор» или «по сертификату», как проще найти) -> Далее -> вводим название нового контейнера -> далее -> устанавливаем на него новый пароль. Или не устанавливаем.

И вот после этого уже копируем ветку реестра на новый комп.

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

Перенос неэкспортируемых контейнеров Крипто-ПРО

При экспорте контейнера закрытого ключа из реестра может возникнуть ошибка:

Ошибка копирования контейнера. У вас нет разрешений на экспорт ключа, потому что при создании ключа не был установлен соответствующий флаг. Ошибка 0x800900B (-2146893813)/ Ключ не может быть использован в указанном состоянии.

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

  1. Нажимаем сочетание клавиш Win+R. Появится окно «Выполнить»
  2. В данное окно пишем regedit и нажимаем «ОК». Откроется окно «Редактор реестра»
  3. Переходим HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Crypto Pro\Settings\Users\S-1-5-21-1438720973-2941062880-733802677-1001 \Keys (64-разрядная ОС) или HKLM\SOFTWARE\CryptoPro\Settings\Users\ \Keys (32 -разрядная ОС)
  4. Нажимаем правой кнопкой мыши (пкм) по «Keys» и выбираем «Экспортировать»
  5. Далее будет предложено окно для выбора места экспорта. Необходимо выбрать место хранение и наименование файла в формате .reg
  6. Перед импортом данного файла на новую систему его необходимо отредактировать в блокноте, открываем с помощью блокнота
  7. В данном случае представлены пути хранения 64-разрядной Win10, если предыдущая ОС была тоже 64-разрядная, то пути должны совпадать и необходимо отредактировать только (О том как узнать SID на ПК есть много публикаций в Интернет). Если пути различаются, то необходимо привести в соответствие с картинкой.
  8. Далее открываем на новом ПК «Редактор Реестра»
  9. Заходим в меню «Файл»/»Импорт» и указываем наш отредактированный .reg-файл
  10. После импорта файла вид реестра будет иметь вид
  11. Далее обязательно требуется установить личный сертификат
  • Нет меток

Неэкспортируемые контейнеры крипто про как перенести

Для примера рассмотрим наиболее часто встречающуюся задачу переноса контейнера закрытого ключа из операционной системы Windows под Linux или OS X.

Если в операционной системе Windows сертификат и закрытый ключ могут находится в локальном хранилище Crypto API, то для работы под операционными системами Linux или OS X его нужно импортировать в специальное системное хранилище.

Важно, чтобы у закрытого ключа должен быть установлен флаг «Экспортируемый»

Перенос выполняется в два шага – экспорт контейнера и сертификата, импорт контейнера и установка сертификата в личное хранилище:

В операционной системе Windows скопировать контейнер закрытого ключа можно следующим образом:

  1. Откройте приложение КриптоПро CSP и перейдите на вкладку Сервис.
  2. На вкладке выберите команду Скопировать контейнер закрытого ключа.
  3. Введите пароль для ключевого контейнера и задайте имя ключевого контейнера (например, test).
  4. Сохраните контейнер на диск или флешку.
  5. После этого откройте диалог Сертификаты (должна запуститься консоль MMC), перейдите в раздел Личное, Реестр, Сертификаты и экспортируйте сертификат без закрытого ключа с помощью мастера. Сохраните его в файл (например, test.cer).
  1. Скопируйте контейнер закрытого ключа (директорию /test/ в формате 8.3) и файл сертификата (test.cer) из корня дискеты или флешки в директорию /var/opt/cprocsp/keys/имя_пользователя.
  2. При этом необходимо проследить чтобы: владельцем файлов был пользователь, в директории с именем которого расположен контейнер (от его имени будет осуществляться работа с ключами); на директорию с ключами были выставлены права, разрешающие владельцу всё, остальным ничего; на файлы были выставлены права, разрешающие владельцу по крайней мере чтение и запись, остальным ничего.

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

PrivateKey Link: Yes. Container: HDIMAGE\\test.000\.

В приведенных выше командах подразумевается один из следующих идентификаторов платформы: ia32 — для 32-разрядных систем Linux; amd64 — для 64- разрядных систем Linux; не указывается — для OS X.

  • Как установить и настроить криптопровайдер КриптоПро CSP
  • Как установить КриптоАРМ ГОСТ на платформу Microsoft Windows
  • Как установить КриптоАРМ ГОСТ на платформу Linux
  • Как установить КриптоАРМ ГОСТ на платформу OS X

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *