Конвертируем SSL сертификат в пригодный для IIS формат / Хабр

Найти приватный ключ .KEY

При генерации CSR-запроса на Windows сервере, вместе с ним был сгенерирован и сохранен на сервере приватный ключ RSA (.key). Найдите данный файл на сервере. Это необходимо для следующего шага.

Если CSR-запрос генерировался в нашей SSL-панели, мы отправили вам на почту связку ключей CSR-RSA в письме с темой “Your generated CSR and keys” от [email protected] Скопируйте ключ, начинающийся тэгом —–BEGIN RSA PRIVATE KEY—-, создайте на вашем компьютере текстовый документ (например, в Блокнот), вставьте в него ключ и сохраните с расширением .key.

Объединить файлы .CRT, .KEY и .CA-BUNDLE

Для того, чтобы это сделать, установите на ваш компьютер программу openssl.exe.

Откройте данную утилиту и введите команду:

pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt -certfile domain.name.ca-bundle

domain.key — имя файла с приватным ключом RSA;

domain.crt — имя файла сертификата;

domain.ca-bundle — имя файла цепочки сертификатов.

Если конвертация прошла успешно, вы увидите слово Verifying.

В случае, когда вариант, представленный выше не подходит, вы можете найти много вариантов конвертации с помощью online-сервисов в интернете. Некоторые из таких вариантов мы собрали ниже:

Установить сертификат на ваш веб-сервер IIS

Вы можете установить SSL-сертификат, руководствуясь нашими инструкциями:

Наша служба поддержки ответит и поможет вам в любое время в чате, если возникнут вопросы.

Pfx в key и crt

Воспользуемся всем знакомой утилитой openssl, чтобы вытащить открытую часть pfx-сертификата1:

Нужно будет ввести пароль, который вы указывали при экспорте .pfx-сертификата. Теперь попробуем извлечь закрытую часть сертификата, поместив её в отдельный запароленный файл:

После выполнения команды вам придется ввести не только пароль, который использовался для экспорта .pfx-сертификата, но и новый пароль, необходимый для защиты .key-файла. Далее вы вполне можете использовать все полученные ранее файлы сертификата для настройки какого-либо сервиса, использующего SSL. Например Apache (см. секцию ниже в качестве примера).

Про сертификаты:  Пленки для ламинирования/ламинации документов, сертификатов, грамот большого формата А3, комплект 100 шт, 100 мкм, Brauberg — купить в интернет-магазине OZON с быстрой доставкой

Закрытый ключ сертификата с парольной защитой не всегда удобно использовать на реальном окружении. Например тот же Apache будет спрашивать пароль при каждом рестарте сервиса, что будет требовать человеческого участия. Обойти проблему можно, сняв пароль с закрытого ключа:

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

Ну а теперь рассмотрим обратную процедуру.

Windows — конвертация ssl сертификата pem в формат pfx (pkcs#12) с помощью подсистемы linux |

Будем собирать PFX файл в Windows 10 с помощью подсистемы Linux. У нас есть:

  1. Сертификат, cert.pem.
  2. Ключ, key.pem.
  3. Цепочка, certnew.p7b.

Включаем bash в Windows:

Windows 10 – включаем bash

На диске C создаём папку C:keys, переносим туда все нужные файлы:

pem

Цепочка у нас в формате p7b, это стандартный формат, когда мы скачиваем цепочку с центра сертификации Windows. Переведём цепочку в PEM формат.

Запускаем bash. Для запуска bash нужно выполнить команду “bash” или “bash.exe”.

bash

Проверим что пакет openssl установлен:

sudo dpkg -l | grep openssl

rsa

Если не установлен, то пакет ставится через apt-get:

sudo apt-get install openssl

У меня openssl уже стоит, Переходим в папку /mnt/c/keys/

cd /mnt/c/keys/

Выполняем запрос:

openssl pkcs7 -print_certs -in certnew.p7b -out certnew.pem

ssl

Получаем файл certnew.pem.

ssl

Выполняем запрос:

openssl pkcs12 -inkey key.pem -in cert.pem -certfile certnew.pem -export -out cert.pfx

У нас спросят пароль, зададим пароль:

ssl

Получаем файл cert.pfx.

ssl

Конвертация ssl сертификатов посредством openssl

OpenSSL — это надежный, коммерческий и полнофункциональный инструментарий для протоколов Transport Layer Security (TLS) и Secure Sockets Layer (SSL). А также библиотека криптографии общего назначения. Конвертация с использованием библиотеки OpenSSL считается одним из самых безопасных способов: все данные будет сохранены непосредственно на устройстве, на котором будут выполняться операции по конвертированию.

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

Предоставленные ниже примеры команд OpenSSL позволяют конвертировать сертификаты и ключи в нужный формат.

Конвертировать PEM в DER можно посредством команды:

openssl x509 -outform der -in site.crt -out site.der

Аналогично, для других типов:

PEM в P7B

openssl crl2pkcs7 -nocrl -certfile site.crt -out site.p7b -certfile site.ca-bundle

PEM в PFX

openssl pkcs12 -export -out site.pfx -inkey site.key -in site.crt -certfile site.ca-bundle

Обращаем ваше внимание, что после выполнения команды, будет запрошена установка пароля ключа.

Про сертификаты:  Какие улучшения и какие предложения по улучшению школы?

DER в PEM

openssl x509 -inform der -in site.der -out site.crt

P7B в PEM

openssl pkcs7 -print_certs -in site.p7b -out site.cer

P7B в PFX

openssl pkcs7 -print_certs -in site.p7b -out certificate.ceropenssl pkcs12 -export -in site.cer -inkey site.key -out site.pfx -certfile site.ca-bundle

PFX в PEM

openssl pkcs12 -in site.pfx -out site.crt -nodes

Конвертация скриптом openssl-toolkit

OpenSSL ToolKit — скрипт, который облегчает работу с библиотекой OpenSSL. Работа со скриптом является безопасным решением, т.к сертификаты и ключи сертификата никуда не передаются, а используются  непосредственно на вашем сервере.

Конвертировать der-кодированный сертификат в pem

openssl x509 -inform der -in CERTIFICATE.der -out CERTIFICATE.pem

Конвертировать сертификат pem в der

openssl x509 -outform der -in CERTIFICATE.pem -out CERTIFICATE.der

Конвертируем ssl сертификат в пригодный для iis формат

Начиная карьеру системного администратора в компании, в какой-то момент потребовалось на Exchange сервере обновить SSL сертификат. Будучи самоучкой разбирался в процессе самостоятельно методом тыка, так что здесь опишу часть пройденного пути.

IIS версии 7.0 не понимает формат сертификата и ключа, которые мне прислал человек, отвечающий за информационную безопасность — ssl.crt и ssl.key — а нужен ssl.pfx. Позже я узнал, что получить этот формат сертификата можно было в центре сертификации. Однако это не значит, что накопленный опыт должен принадлежать только мне.

Итак, нам понадобится:

Установочный файл программы OpenSSL довольно легко находится на просторах интернета, если память мне не изменяет, в своем случае использовал версию 0.9.8h. Как вы уже догадались программу нужно скачать и установить. Далее качаем с сайта Microsoft и устанавливаем библиотеки VC Redistributable 2008. Кладем наши файлы ключа и сертификата в корень диска C: для удобства написания команд. Затем идем по пути куда установили программу OpenSSL в папку bin и запускаем файл openssl.exe от имени Администратора (C:OpenSSLbinopenssl.exe). Откроется окно командного интерфейса, сюда нам нужно ввести одну длинную команду и нажать Enter.

pkcs12 -export -out C:ssl.pfx -name "mydomain.ru" -caname "mydomain.ru" -passout "pass:12345678" -inkey C:ssl.key -in C:ssl.crt -certfile C:ssl.crt

Полное описание всех значений я не знаю, заострю внимание на самых важных.

«mydomain.ru» — заменить на имя вашего домена
«pass:12345678» — ваш пароль который нужен на этапе импорта в IIS

Всё! Готово. Полученный сертификат будет ждать вас по пути С:ssl.pfx. Его нужно брать и импортировать на сервере в IIS.

Про сертификаты:  Как установить или удалить корневые сертификаты НУЦ » MHelp.kz

Общие преобразования pem

В приведенных ниже командах OpenSSL замените имена файлов ВСЕМИ ЗАГЛАВНЫМИ буквами фактическими путями и именами файлов, с которыми вы работаете.

Получаем сертификат

Если у вас все ещё нет сертификата от публичного ЦС,

тогда мы идем к вам

то самое время его получить. Обычно для этого сначала нужно сделать CSR-запрос. Следующий шаг — отправить его в ЦС и пройти проверку домена/организации (вам отправят письмо с кодом подтверждения на какой-либо админский адрес, либо позвонят на корпоративный номер телефона в зависимости от типа проверки).

Как только все формальности пройдены, на почту вы получите архив с нужным вам сертификатом в формате .crt (и всей цепочкой промежуточных на всякий случай).

Преобразовать сертификат в кодировке der с цепочкой доверия и закрытым ключом в pkcs # 12

Чтобы преобразовать сертификат DER в PKCS # 12, его следует сначала преобразовать в PEM, а затем объединить с любыми дополнительными сертификатами и / или закрытым ключом, как показано выше. Для более подробного описания преобразования DER в PKCS # 12, пожалуйста, смотрите это как.

Просмотр содержимого файла сертификата pem

openssl x509 -в CERTIFICATE.pem -text -noout 

Просмотр содержимого файла сертификата в кодировке der

openssl x509 -inform der -in CERTIFICATE.der -text -noout

Расширения имени файла der

DER-кодированные файлы обычно находятся с расширениями .der и .cer.

Способы конвертации

Существует несколько способов конвертации сертификатов, которые отличаются между собой только простотой конвертирования и уровнем безопасности. Мы расскажем о трех из них.

Форматы сертификатов

Существует четыре основных формата сертификатов:

PEM — популярный формат используемый Центрами Сертификации для выписки SSL-сертификатов.

Основные расширения этого типа .pem, .crt, .cer, .key. В файлах содержатся строки вида

-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY ------

Сертификаты PEM подходят для установки на веб-серверы nginx, apache2.

DER — это бинарная форма сертификата PEM.

Основные расширения этого типа  сертификата .der .cer

Сертификаты DER подходят для установки на серверы Java.

P7B. Файлы P7B кодируются в формате Base64 и имеют расширение .p7b или .p7c.

В файлах содержатся строки вида

-----BEGIN PKCS7-----
-----END PKCS7-----

Сертификаты P7B подходят для установки на серверы MS Windows, Java Tomcat

PFX — это сертификат в бинарном формате, выданный для домена, включающий в себя сертификат, цепочку сертификатов (корневые сертификаты) и приватный ключ. Имеют расширение .pfx или .p12.

Сертификаты PFX подходят для установки на серверы Windows, в частности Internet Information Services(IIS).

Оцените статью
Мой сертификат
Добавить комментарий