Переносим неэкспортируемые контейнеры Крипто-ПРО
Иногда случается так что необходимо перенести клиент-банк или другое разнообразное бухгалтерское и не очень ПО с одного компьютера на другой. В том случае когда в качестве криптопровайдера выступает СКЗИ Крипто-ПРО обычно проблем не возникает — СКЗИ имеет штатные средства копирования ключей. Но не всегда все гладко — в том случае, когда ключевой контейнер находится в реестре Windows, и при генерации ключа не была выставлена галочка «Пометить ключ как экспортируемый» то при попытке скопировать куда-либо этот ключ Крипто-ПРО будет ругаться и не скопирует ключ.
Из этой ситуации есть очень простой выход — выгружаем ветку реестра HKLM\SOFTWARE\CryptoPro\Settings\Users\ \Keys\(в x64 операционках контейнеры лежат в HKLM\SOFTWARE\Wow6432Node\CryptoPro\Settings\Users\ \Keys\), а на том ПК куда необходимо импортировать смотрим разрядность ОС\SID пользователя, блокнотом правим .reg файл(меняем SID и, если необходимо, путь к конечной ветке), и импортируем его в реестр.
Также этим методом очень удобно бекапить и клонировать ключи тогда, когда их много(например в аутсорс-бухгалтериях).
P.S. Не забывайте после переноса установить сертификаты из криптоконтейнеров в «Личные».
В крипто-про на контейнеры можно ставить пин-код.
А так же при вводе этого пин-кода можно поставить галочку «сохранить» — и в дальнейшем его вводить не придётся.
Иногда после этого пин-код благополучно забывают (что и произошло у нас в компании).
При копировании вышеописанным методом, контейнер остаётся защищён пин-кодом — а вот «сохранение» этого пин-кода не переносится на новый компьютер.
Что можно сделать в таком случае?
Если исходный компьютер ещё жив — заходим в панель управления -> КриптоПро CSP -> Сервис -> Скопировать
Выбираем нужный контейнер (кнопка «обзор» или «по сертификату», как проще найти) -> Далее -> вводим название нового контейнера -> далее -> устанавливаем на него новый пароль. Или не устанавливаем.
И вот после этого уже копируем ветку реестра на новый комп.
Кстати, что бы не мучаться с подменой SID — можно копировать сертификаты в контейнер компьютера а не пользователя, тогда они будут храниться тут:
Перенос неэкспортируемых контейнеров Крипто-ПРО
При экспорте контейнера закрытого ключа из реестра может возникнуть ошибка:
Ошибка копирования контейнера. У вас нет разрешений на экспорт ключа, потому что при создании ключа не был установлен соответствующий флаг. Ошибка 0x800900B (-2146893813)/ Ключ не может быть использован в указанном состоянии.
В этом случае для копирования контейнера закрытого ключа необходимо выгрузить нужную ветку реестра.
- Нажимаем сочетание клавиш Win+R. Появится окно "Выполнить"
- В данное окно пишем regedit и нажимаем "ОК". Откроется окно "Редактор реестра"
- Переходим 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 -разрядная ОС) - Нажимаем правой кнопкой мыши (пкм) по "Keys" и выбираем "Экспортировать"
- Далее будет предложено окно для выбора места экспорта. Необходимо выбрать место хранение и наименование файла в формате .reg
- Перед импортом данного файла на новую систему его необходимо отредактировать в блокноте, открываем с помощью блокнота
- В данном случае представлены пути хранения 64-разрядной Win10, если предыдущая ОС была тоже 64-разрядная, то пути должны совпадать и необходимо отредактировать только
(О том как узнать SID на ПК есть много публикаций в Интернет). Если пути различаются, то необходимо привести в соответствие с картинкой. - Далее открываем на новом ПК "Редактор Реестра"
- Заходим в меню "Файл"/"Импорт" и указываем наш отредактированный .reg-файл
- После импорта файла вид реестра будет иметь вид
- Далее обязательно требуется установить личный сертификат
Как скопировать контейнер с сертификатом на другой носитель
Подробная инструкция о том, как скопировать сертификат на другой носитель: копирование средствами Windows, копирование на профиле диагностики, массовое копирование, копирование с помощью КриптоПро CSP, экспорт PFX-файла и его установка, а также копирование контейнера из реестра другого пользователя.
- Копирование средствами Windows
- Копирование на профиле Диагностики
- Массовое копирование
- Копирование с помощью КриптоПро CSP
- Экспорт PFX-файла и его установка
- Копирование контейнера из реестра другого пользователя
Копирование средствами Windows
Если для работы используется дискета или flash-накопитель, скопировать контейнер с сертификатом можно средствами Windows (этот способ подходит для версий КриптоПро CSP не ниже 3.0). Папку с закрытым ключом (и, если есть, файл сертификата — открытый ключ) поместите в корень дискеты / flash-накопителя (если поместить не в корень, то работа с сертификатом будет невозможна). Название папки при копировании рекомендуется не изменять.
В папке с закрытым ключом должно быть 6 файлов с расширением.key. Как правило, в закрытом ключе присутствует открытый ключ (файл header.key в этом случае будет весить больше 1 Кб). В этом случае копировать открытый ключ необязательно. Пример закрытого ключа — папки с шестью файлами и открытого ключа — файла с расширением.cer.
Копирование на профиле Диагностики
1. Зайдите на профиль Диагностики «Копирования» по ссылке.
2. Вставьте носитель, на который необходимо скопировать сертификат.
3. На нужном сертификате нажмите на кнопку «Скопировать».
Если на контейнер был задан пароль — появится сообщение «Введите пароль для устройства с которого будет скопирован сертификат».
Введите пароль и нажмите на кнопку «Далее».
4. Выберите носитель, куда необходимо скопировать сертификат и нажмите «Далее».
5. Задайте имя новому контейнеру и нажмите на кнопку «Далее».
6. Должно появиться сообщение об успешном копировании сертификата.
Массовое копирование
- Скачайте и запустите утилиту. Дождитесь загрузки всего списка контейнеров/сертификатов и отметьте нужные галочками.
- Выберите меню « Массовые действия » и нажмите на кнопку « Копирование контейнеров ».
3. Выберите носитель для хранения копии контейнера и нажмите « ОК » . При копировании в реестр можно поставить галочку на пункте «Копировать к ключевой контейнер компьютера», тогда после копирования контейнер будет доступен всем пользователям данного компьютера.
4. После копирования нажмите внизу слева кнопку « Обновить ».
Если хотите работать со скопированными контейнерами — необходимо установить сертификаты.
Копирование с помощью КриптоПро CSP
Выберите «Пуск» > «Панель управления» > «КриптоПро CSP». Перейдите на вкладку « Сервис » и кликните по кнопке « Скопировать».
В окне « Копирование контейнера закрытого ключа » нажмите на кнопку « Обзор » .
Выберите контейнер, который необходимо скопировать, и кликните по кнопке «Ок», затем «Далее». Если вы копируете с рутокена, то появится окно ввода, в котором следует указать pin-код. Если вы не меняли pin-код на носителе, стандартный pin-код — 12345678.
Придумайте и укажите вручную имя для нового контейнера. В названии контейнера допускается русская раскладка и пробелы. Затем кликните « Готово » .
В окне « Вставьте чистый ключевой носитель » выберите носитель, на который будет помещен новый контейнер.
На новый контейнер будет предложено установить пароль. Рекомендуем установить такой пароль, чтобы вам было легко его запомнить, но посторонние не могли его угадать или подобрать. Если вы не хотите устанавливать пароль, можно оставить поле пустым и нажать «ОК».
Не храните пароль/pin-код в местах, к которым имеют доступ посторонние. В случае утери пароля/pin-кода использование контейнера станет невозможным.
Если вы копируете контейнер на смарт-карту ruToken, сообщение будет звучать иначе. В окне ввода укажите pin-код. Если вы не меняли pin-код на носителе, стандартный pin-код — 12345678.
После копирования система вернется на вкладку «Сервис» КриптоПро CSP. Копирование завершено. Если вы планируете использовать для работы в Экстерне новый ключевой контейнер, установите его через Крипто Про.
При копировании может возникнуть «Ошибка копирования сертификата», если у вас нет лицензии на КриптоПроCSP или контейнер получил признак «неэкспортируемый». Справиться с этим поможет инструкция.
Экспорт PFX-файла и его установка
Экспорт сертификата с закрытым ключом
1. Откройте оснастку работы с сертификатами:
— Пуск → Все программы → КриптоПро → Сертификаты
либо
— Internet Explorer → Сервис → Свойства обозревателя → вкладка Содержание → Сертификаты.
2. Откройте сертификат, который нужно скопировать. На вкладке «Состав» нажмите «Копировать в файл».
3. В «Мастере экспорта сертификтов» нажмите «Далее» и выберите пункт «Да, экспортировать закрытый ключ». Нажмите «Далее».
4. На следующем этапе поставьте галочки у пунктов «Включить по возможности все сертификаты в путь сертификации» и «Экспортировать все расширенные свойства», остальные галочки необходимо убрать. Нажмите «Далее».
5. Обязательно задайте пароль для экспортируемого файла. Данный пароль не рекомендуется сообщать по электронной почте. Нажмите «Далее».
6. Укажите имя файла, выберите путь сохранения и нажмите «Далее», затем нажмите «Готово».
7. Экспортируйте открытый ключ сертификата (см. Экспорт открытого ключа).
8. Заархивируйте полученные файлы форматов .pfx и .cer.
Установка сертификата с закрытым ключом
1. Откройте .pfx файл. Сразу запустится «Мастер импорта сертификатов».
2. Укажите хранилище «Текущий пользователь» и нажмите «Далее», затем снова «Далее».
3. Введите пароль, который указывали при экспорте и поставьте галочку на пункте «Пометить этот ключ как экспортируемый…», иначе наче контейнер нельзя будет скопировать в дальнейшем. Нажмите «Далее».
4. Выберите пункт «Поместить все сертификаты в следующее хранилище», нажмите на кнопку «Обзор», выберите «Личное» и нажмите на кнопку «ОК». Нажмите «Далее», а затем «Готово».
5. В окне КриптоПро выберите носитель, на который хотите сохранить контейнер. При необходимости задайте пароль.
6. Для корректной работы сертификата со встроенной лицензией переустановите сертификат в контейнер (см. Как установить личный сертификат в КриптоПро).
Копирование контейнера из реестра другого пользователя
1. Необходимо найти ветку реестра с нужным контейнером. Ветки реестра, в которых может быть контейнер закрытого ключа:
- для 32-битной ОС: HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\Users\*идентификатор пользователя*\Keys\*Название контейнера*;
- для 64-битной ОС: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Crypto Pro\Settings\USERS\*идентификатор пользователя*\Keys\*Название контейнера*.
2. После того, как нашли нужную ветку, нажмите правой кнопкой мыши на ветку с контейнером и выберите «Экспортировать».
3. Введите имя файла и нажмите на кнопку «Сохранить».
4. Скопируйте файл на тот компьютер, где будете работать с электронной подписью обычными средствами Windows.
5. Пройдите диагностику на сайте https://help.kontur.ru .
6. Как диагностика закончится, нажмите на ссылку «Показать результаты».
7. В списке результатов выберите «Информация о Windows». Скопируйте оттуда SID текущего пользователя.
8. Откройте экспортированный файл реестра с помощью «Блокнота».
9. Замените SID пользователя на скопированный ранее.
Если ветка реестра экспортируется из 32-битной ОС в 64-битную ОС, добавьте в путь ветки реестра параметр Wow6432Node как на скриншоте:
10. Сохраните изменения и закройте файл.
11. Снова нажмите на файл правой кнопкой мыши и выберите «Слияние». В появившемся окне нажмите «Да».
Должно появиться сообщение о том, что данные успешно внесены в реестр. Нажмите «ОК».
Если появляется сообщение «Ошибка при доступе к реестру», необходимо еще раз проверить все пути в файле на корректность. Также проверьте, чтобы в пути не было лишних пробелов, знаков.
12. После того, как данные будут внесены в реестр, необходимо вручную установить сертификат (см. Как установить личный сертификат).