- Введение
- Что делать если нет сертификата в запросах заявок на сертификат
- Для чего нужно преобразование сертификатов
- Импорт закрытого ключа
- Как видите предпосылок и вариантов переноса сертификатов из реестра на другой компьютер, предостаточно.
- Как получить pfx ключ на iis
- Как скопировать сертификат с рутокена на компьютер, из криптопро на флешку
- Как создать .ca-bundle
- Когда нужно переносить сертификаты в другое место?
- Копирование закрытого ключа через оснастку криптопро
- Криптопро csp ошибка 0x80090010 отказано в доступе
- Массовый перенос ключей и сертификатов cryptopro на другой компьютер
- Массовый перенос ключей и сертификатов cryptopro с компьютера на компьютер
- Получаем pfx ключ для импорта в iis
- Помогла статья? подписывайся на telegram канал автора
- Преобразование crt в pem
- Преобразование p7b в pem
- Преобразование pem в key
- Преобразование pfx в pem
- Установка openssl для windows
- Часто задаваемые вопросы по теме статьи (faq)
- Экспорт закрытого ключа
Введение
Мне постоянно приходится иметь дело с сертификатами, токенами, закрытыми ключами, криптопровайдерами и прочим. Сейчас все завязано на это — банкинг, сдача отчетности в разные гос органы, обращения опять же в эти органы, в том числе и физ лиц. В общем, с этой темой рано или поздно придется познакомиться многим.
- Перенести или скопировать контейнер закрытого ключа через стандартную оснастку CryptoPro в панели управления. Это самый простой и быстрый способ, если у вас не много сертификатов и ключей. Если же их несколько десятков, а это не такая уж и редкость, то такой путь вам не подходит.
- Скопировать сертификаты и ключи непосредственно через перенос самих исходных файлов и данных, где все это хранится. Объем работы одинаков и для 5 и для 50-ти сертификатов, но требуется больше усилий и знаний.
Я опишу оба этих способа, но подробно остановлюсь именно на втором способе. В некоторых ситуациях он является единственно возможным.
Важное замечание. Я буду переносить контейнеры закрытого ключа, которые хранятся в реестре. Если вы храните их только на токене, то переносить контейнеры вам не надо, только сертификаты.
Что делать если нет сертификата в запросах заявок на сертификат
Бывают ситуации, что на вашем сервере по каким-то причинам, в папке запросы на сертификат, может не оказаться вашего, в этом случае вам необходимо будет перейти в этой же mmc в раздел «Личное-Сертификаты». Выбираем нужный и делаем экспорт.
Или вы можете просто открыть существующий CRT и в нем так же выгрузить P7B, это не потребует установку crt
Появится мастер экспорта сертификатов.
Обратите внимание, что в pfx выгрузить не получится, но это не страшно, нам подойдет и p7b, но с включенной галкой «Включить по возможности все сертификаты в путь сертификации»
Указываем путь сохраняемого файла.
Видим, что все успешно выполнено.
Для чего нужно преобразование сертификатов
Тут ответ, очень простой, все дело в формате работы с ними у каждой программы, будь то IIS или же Apache сервер. Более подробно про виды сертификатов и их назначение, я вам посоветую прочитать вот эту статью.
Давайте я подробнее покажу как выглядит ошибка импортирования сертификата. Во первых когда вы получаете от comodo ваш архив с сертификатами, то там будет два файла:
Попытавшись на сервере IIS произвести их импорт вы увидите вот такую картинку.
Сертификат не содержит закрытого ключа
И тут нет ничего удивительного, так как это не pfx архив, то в нем нет нужного приватного ключа. Для его получения придется слегка постараться.
Импорт закрытого ключа
Для установки закрытой части ключа откройте файл, сохранённый ранее (Рис. 15).
Откроется «Мастер импорта сертификатов», нажмите кнопку «Далее» (Рис. 16).
Укажите файл, который нужно импортировать, используя кнопку «Обзор», затем нажмите «Далее» (Рис. 17).
Далее введите пароль (1), отметьте пункт «Пометить этот ключ как экспортируемый, что позволит сохранять резервную копию ключа и перемещать его.» (2), затем нажмите кнопку «Далее» (Рис. 18).
Отметьте пункт «Поместить все сертификаты в следующее хранилище» (1), нажмите кнопку «Обзор» (2), в открывшемся окне отметьте «Личное» (3) и нажмите «Ок» (4). В окне мастера настроек нажмите «Далее» (5) (Рис. 19).
Нажмите «Готово» (Рис. 20).
В открывшемся окне КриптоПро CSP выберите носитель, на который будет импортирован ключ, затем нажмите «Ок» (Рис. 21).
Далее укажите новый пароль и его подтверждение (Рис. 22).
Система сообщит о чтении ключевой информации, нажмите кнопку «Ок» (Рис. 23).
Далее введите пароль (Рис. 24).
Далее нажмите «Ок» (Рис. 25).
Импорт успешно будет выполнен (Рис. 26).
Далее выполните установку личного сертификата по инструкции: /ru-ru/support/kb/333#1.
Как видите предпосылок и вариантов переноса сертификатов из реестра на другой компьютер, предостаточно.
Какие есть варианты по копированию контейнеров закрытых ключей?
Как получить pfx ключ на iis
нажимаем сочетание клавиш WIN R и вводим mmc, для вызова оснастки. Я вам уже рассказывал о ее применении и удобстве для системного администратора.
Далее вам необходимо через меню «Файл» добавить новую оснастку.
Находим сертификаты и нажимаем кнопку «Добавить»
В следующем окне выбираем «для учетной записи компьютера»
подтверждаем, что нас интересует локальный компьютер.
Далее находим пункт «Запросы заявок на сертификат», тут вы обнаружите ваш запрос, находите его и через правый клик экспортируете его.
У вас откроется мастер экспорта сертификатов
Далее вы выбираете «Да, экспортировать закрытый ключ»
Ставим галку «Включить по возможности все сертификаты в путь сертификации» и начинаем наш экспорт PFX архива.
Теперь мастер экспорта, просит вас указать два раза нужный вам пароль, для защиты pfx архива.
Через кнопку обзор, указываем место сохранения вашего файла.
Нажимаем «Готово»
Как видим, все успешно выгружено.
Как скопировать сертификат с рутокена на компьютер, из криптопро на флешку
Если для работы используется дискета или flash-накопитель, скопировать контейнер с сертификатом можно средствами Windows (этот способ подходит для версий КриптоПро CSP не ниже 3.0). Папку с закрытым ключом (и, если есть, файл сертификата — открытый ключ) поместите в корень дискеты / flash-накопителя (если поместить не в корень, то работа с сертификатом будет невозможна). Название папки при копировании рекомендуется не изменять.
В папке с закрытым ключом должно быть 6 файлов с расширением.key. Как правило, в закрытом ключе присутствует открытый ключ (файл header.key в этом случае будет весить больше 1 Кб). В этом случае копировать открытый ключ необязательно. Пример закрытого ключа — папки с шестью файлами и открытого ключа — файла с расширением.cer.
Если у вас MacOS, смотрите инструкцию «Как скопировать контейнер с сертификатом на MacOS».
1. Зайдите на профиль Диагностики «Копирования» по ссылке.
2. Вставьте носитель, на который необходимо скопировать сертификат.
3. На нужном сертификате нажмите на кнопку «Скопировать».

Если на контейнер был задан пароль — появится сообщение «Введите пароль для устройства с которого будет скопирован сертификат».

Введите пароль и нажмите на кнопку «Далее».
4. Выберите носитель, куда необходимо скопировать сертификат и нажмите «Далее».

5. Задайте имя новому контейнеру и нажмите на кнопку «Далее».

6. Должно появиться сообщение об успешном копировании сертификата.

- Скачайте и запустите утилиту. Дождитесь загрузки всего списка контейнеров/сертификатов и отметьте нужные галочками.
- Выберите меню «Массовые действия» и нажмите на кнопку «Копирование контейнеров».

3. Выберите носитель для хранения копии контейнера и нажмите «ОК». При копировании в реестр можно поставить галочку на пункте «Копировать к ключевой контейнер компьютера», тогда после копирования контейнер будет доступен всем пользователям данного компьютера.

4. После копирования нажмите внизу слева кнопку «Обновить».
Если хотите работать со скопированными контейнерами — необходимо установить сертификаты.
Выберите «Пуск» > «Панель управления» > «КриптоПро CSP». Перейдите на вкладку «Сервис» и кликните по кнопке «Скопировать».

В окне «Копирование контейнера закрытого ключа» нажмите на кнопку «Обзор».

Выберите контейнер, который необходимо скопировать, и кликните по кнопке «Ок», затем «Далее». Если вы копируете с рутокена, то появится окно ввода, в котором следует указать pin-код. Если вы не меняли pin-код на носителе, стандартный pin-код — 12345678.

Придумайте и укажите вручную имя для нового контейнера. В названии контейнера допускается русская раскладка и пробелы. Затем кликните «Готово».

В окне «Вставьте чистый ключевой носитель» выберите носитель, на который будет помещен новый контейнер.

На новый контейнер будет предложено установить пароль. Рекомендуем установить такой пароль, чтобы вам было легко его запомнить, но посторонние не могли его угадать или подобрать. Если вы не хотите устанавливать пароль, можно оставить поле пустым и нажать «ОК».
Не храните пароль/pin-код в местах, к которым имеют доступ посторонние. В случае утери пароля/pin-кода использование контейнера станет невозможным.

Если вы копируете контейнер на смарт-карту ruToken, сообщение будет звучать иначе. В окне ввода укажите pin-код. Если вы не меняли pin-код на носителе, стандартный pin-код — 12345678.

После копирования система вернется на вкладку «Сервис» КриптоПро CSP. Копирование завершено. Если вы планируете использовать для работы в Экстерне новый ключевой контейнер, установите его через Крипто Про.
При копировании может возникнуть «Ошибка копирования сертификата», если у вас нет лицензии на КриптоПроCSP или контейнер получил признак «неэкспортируемый». Справиться с этим поможет инструкция.
Экспорт сертификата с закрытым ключом
1. Откройте оснастку работы с сертификатами:
— Пуск → Все программы → КриптоПро → Сертификаты
либо
— Internet Explorer → Сервис → Свойства обозревателя → вкладка Содержание → Сертификаты.
2. Откройте сертификат, который нужно скопировать. На вкладке «Состав» нажмите «Копировать в файл».

3. В «Мастере экспорта сертификтов» нажмите «Далее» и выберите пункт «Да, экспортировать закрытый ключ». Нажмите «Далее».

4. На следующем этапе поставьте галочки у пунктов «Включить по возможности все сертификаты в путь сертификации» и «Экспортировать все расширенные свойства», остальные галочки необходимо убрать. Нажмите «Далее».

5. Обязательно задайте пароль для экспортируемого файла. Данный пароль не рекомендуется сообщать по электронной почте. Нажмите «Далее».

6. Укажите имя файла, выберите путь сохранения и нажмите «Далее», затем нажмите «Готово».

7. Экспортируйте открытый ключ сертификата (см. Экспорт открытого ключа).
8. Заархивируйте полученные файлы форматов .pfx и .cer.
Установка сертификата с закрытым ключом
1. Откройте .pfx файл. Сразу запустится «Мастер импорта сертификатов».
2. Укажите хранилище «Текущий пользователь» и нажмите «Далее», затем снова «Далее».

3. Введите пароль, который указывали при экспорте и поставьте галочку на пункте «Пометить этот ключ как экспортируемый…», иначе наче контейнер нельзя будет скопировать в дальнейшем. Нажмите «Далее».

4. Выберите пункт «Поместить все сертификаты в следующее хранилище», нажмите на кнопку «Обзор», выберите «Личное» и нажмите на кнопку «ОК». Нажмите «Далее», а затем «Готово».

5. В окне КриптоПро выберите носитель, на который хотите сохранить контейнер. При необходимости задайте пароль.

6. Для корректной работы сертификата со встроенной лицензией переустановите сертификат в контейнер (см. Как установить личный сертификат в КриптоПро).
1. Необходимо найти ветку реестра с нужным контейнером. Ветки реестра, в которых может быть контейнер закрытого ключа:
2. После того, как нашли нужную ветку, нажмите правой кнопкой мыши на ветку с контейнером и выберите «Экспортировать».

3. Введите имя файла и нажмите на кнопку «Сохранить».
4. Скопируйте файл на тот компьютер, где будете работать с электронной подписью обычными средствами Windows.
5. Пройдите диагностику на сайте https://help.kontur.ru .
6. Как диагностика закончится, нажмите на ссылку «Показать результаты».

7. В списке результатов выберите «Информация о Windows». Скопируйте оттуда SID текущего пользователя.


8. Откройте экспортированный файл реестра с помощью «Блокнота».

9. Замените SID пользователя на скопированный ранее.

Если ветка реестра экспортируется из 32-битной ОС в 64-битную ОС, добавьте в путь ветки реестра параметр Wow6432Node как на скриншоте:

10. Сохраните изменения и закройте файл.
11. Снова нажмите на файл правой кнопкой мыши и выберите «Слияние». В появившемся окне нажмите «Да».

Должно появиться сообщение о том, что данные успешно внесены в реестр. Нажмите «ОК».
Если появляется сообщение «Ошибка при доступе к реестру», необходимо еще раз проверить все пути в файле на корректность. Также проверьте, чтобы в пути не было лишних пробелов, знаков.
12. После того, как данные будут внесены в реестр, необходимо вручную установить сертификат (см. Как установить личный сертификат).
Как создать .ca-bundle
Если у вас нет в наличии отдельного файла с расширением .ca-bundle, то создать его очень просто. Вам должны были прислать несколько файлов в формате crt, от корневого и промежуточного центра сертификации. Посмотреть это можно в общем crt файле на вкладке «Путь сертификации».
В моем примере, корневым является DIGI, а промежуточным Thawte. При желании вы можете их выбрать и скопировать в виде файла формата crt. Откроем их с помощью блокнота. По сути создание .ca-bundle подразумевает объединение содержимого этих двух файлов цепочки.
Вот так выглядит команда по созданию .ca-bundle файла.
copy intermediate_pem_thawte_sslwildcard_1.crt root_pem_thawte_sslwildcard_1.crt pyatilistnik.ca-bundle
Когда нужно переносить сертификаты в другое место?
И так давайте рассмотрим по каким причинам у вас может появиться необходимость в копировании ваших ЭЦП в другое место.
- На текущем физическом компьютере начинает умирать жесткий диск или SSD накопитель (Как проверить жизненные показатели жесткого диска), очень частая история и жизненная, когда люди теряли все свои данные, из-за банальной жадности в покупке нового оборудования и элементарного незнания принципов резервного копирования.
- У вас производится модернизация оборудования, его улучшение и вам нужно перенести все сертификаты с закрытыми ключами на другую систему
- Вы создали отдельный сервер, в виде виртуальной машины, где будут находится все ваши сертификаты и с ними смогут работать все необходимые сотрудники, терминал для бухгалтерии. Простой пример СБИС, и когда у вас 10-20 организаций.
Копирование закрытого ключа через оснастку криптопро
Для того, чтобы скопировать контейнер для хранения закрытого ключа сертификата штатным средством, необходимо в Панели управления открыть оснастку CryptoPro, перейти в раздел Сервис и нажать Скопировать.
Далее вы выбираете текущий контейнер, который хотите скопировать. Это может быть либо токен, либо реестр компьютера. Затем новое имя и новое расположение контейнера. Опять же, это может быть как реестр, так и другой токен.
Криптопро csp ошибка 0x80090010 отказано в доступе
Иногда после переноса контейнеров закрытых ключей через экспорт — импорт ветки реестра с ключами можно увидеть ошибку доступа к контейнерам. Вроде бы все на месте, ключи есть в реестре. Их можно увидеть в останстке CryptoPro, но не получается прочитать. При попытке это сделать возникает ошибка:
Ошибка обращения к контейнеру закрытого ключа. Ошибка 0x80090010: Отказано в доступе. Связано это с тем, что у текущего пользователя, под которым вы хотите получить доступ к контейнеру, нет полных прав на ветку реестра с хранящимися ключами. Исправить это просто. Переходите в редактор реестра и выставляйте полные права к ветке Keys для текущего пользователя.
Убедитесь так же, что новые права наследовались на дочерние ветки с самими ключами. Обычно это так, но перепроверить на всякий случай непомешает. После этого ошибка с доступом к контейнеру закрытого ключа исчезнет.
Массовый перенос ключей и сертификатов cryptopro на другой компьютер
Выше описанные методы хороши, когда у вас один или 5 ключиков в реестре, а как быть если их десятки. Помню лет 5 назад, когда я еще был младшим администратором, то я очень часто устанавливал электронные цифровые подписи главбуху, так как она работала в СБИС и сдавала там постоянно отчетность по огромному количеству организаций, по типу рога и копыта.
Держать кучу токенов было не вариант, и для таких вещей у нее все хранилось в реестре и копия сертификатов была на флешке в сейфе. Флешку потом потеряли, встал вопрос сделать резервную копию всего и плюс обновить систему, в виду нового компьютера, на операционной системе Windows 8.1. ЭЦП было штук 50, а так как я ценю свое время, то и искал методы, выполнить это быстрее, к счастью я его нашел.
Заключался метод переноса сертификатов из реестра, в выгрузке веток и подмене SID значения, но обо всем по порядку. О том, как посмотреть SID пользователя и что это такое я рассказывал.
Открываете командную строку cmd и вводите команду:
Массовый перенос ключей и сертификатов cryptopro с компьютера на компьютер
В интернете достаточно легко находится способ переноса контейнеров закрытых ключей КриптоПро через копирование нужной ветки реестра, где это все хранится. Я воспользуюсь именно этим способом. А вот с массовым переносом самих сертификатов у меня возникли затруднения и я не сразу нашел рабочий способ.
Получаем pfx ключ для импорта в iis
Теперь когда у вас есть все составляющие, вы можете выполнить последнюю команду для создания PFX файла для IIS сервера.
Задаем пароль для pfx файла, потребуется при импортировании.
В итоге вы получаете нужный вам файл, который можно загружать на ваш почтовый сервер.
Помогла статья? подписывайся на telegram канал автора
Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.
Преобразование crt в pem
Кладем так же все в одну папку, файл crt вам должны были прислать вместе с ca-bundle.
В итоге у меня получилось, вот так.
Преобразование p7b в pem
Попробует такое преобразование.
Преобразование pem в key
Теперь получим файл с расширением key, для этого есть вот такая команда:
Вас попросят указать пароль от pem ключа.
В итоге я получил закрытый ключ в формате key.
Еще у вас может возникнуть ошибка: unable to load Private Key31320:error:0909006C:PEM routines:get_name:no start line:crypto/pem/pem_lib.c:745:Expecting: ANY PRIVATE KEY
Тут вся проблема, что в вашем pem файле просто нет закрытого ключа, в результате чего вы и получаете данную ошибку.
Если у вас есть файл с csr запросом, ты вы его можете просто переделать из текущего расширения в key
Осталась финишная прямая.
Преобразование pfx в pem
Теперь приступаем к получению фала в формате Pem. Положите в папку с дистрибутивом файл в формате pfx.
Вас попросят указать пароль от Pfx архива, вы его задавали при экспорте, после чего нужно придумать пароль на pem файл.
В папке с дистрибутивом OpenSSL вы обнаружите файл key.pem, он нам нужен будет для следующего этапа.
Установка openssl для windows
Теперь нам необходимо наш файл pfx переделать в pem, Pem преобразовать в key:
Вы получите из этих трех файлов, нужный для импорта pfx архив. Во всем этом нам поможет утилита OpenSSL для Windows.
Часто задаваемые вопросы по теме статьи (faq)
Экспорт закрытого ключа
Для экспорта закрытого ключа выполните следующие действия:
Откройте Крипто-Про CSP. Перейдите во вкладку «Сервис» и нажмите кнопку «Просмотреть сертификаты в контейнере» (Рис. 1).
В открывшемся окне укажите имя ключевого контейнера, нажав «Обзор» (Рис. 2).
Выберите ключевой контейнер пользователя, затем нажмите «Ок» (Рис. 3).
Нажмите «Далее» (Рис. 4).
Далее нажмите кнопку «Свойства» (Рис. 5).
В открывшемся окне перейдите во вкладку «Состав» и нажмите кнопку «Копировать в файл» (Рис. 6).
Откроется мастер экспорта сертификатов. Нажмите «Далее» (Рис. 7).
Далее отметьте «Да, экспортировать закрытый ключ» (1) и нажмите «Далее» (2) (Рис. 8).
Отметьте следующие пункты: «Файл обмена личной информацией – PKCS #12», «Включить по возможности все сертификаты в путь сертификации» и «Экспортировать все расширенные свойства» (1), затем нажмите кнопку «Далее» (2) (Рис. 9).
Укажите пароль и подтверждение пароля (1), затем нажмите кнопку «Далее» (2) (Рис. 10).
Далее укажите имя файла, используя «Обзор» (1), затем нажмите кнопку «Далее» (2) (Рис. 11).
Далее нажмите «Готово» (Рис. 12).
Система сообщит о чтении ключевой информации, нажмите кнопку «Ок» (Рис. 13).
Откроется окно с информацией об успешном экспорте. Нажмите «Ок» (Рис. 14).
