- Найти приватный ключ .KEY
- Объединить файлы .CRT, .KEY и .CA-BUNDLE
- Установить сертификат на ваш веб-сервер IIS
- Pfx в key и crt
- Windows — конвертация ssl сертификата pem в формат pfx (pkcs#12) с помощью подсистемы linux |
- Конвертация ssl сертификатов посредством openssl
- Конвертация скриптом openssl-toolkit
- Конвертировать der-кодированный сертификат в pem
- Конвертировать сертификат pem в der
- Конвертируем ssl сертификат в пригодный для iis формат
- Общие преобразования pem
- Получаем сертификат
- Преобразовать сертификат в кодировке der с цепочкой доверия и закрытым ключом в pkcs # 12
- Просмотр содержимого файла сертификата pem
- Просмотр содержимого файла сертификата в кодировке der
- Расширения имени файла der
- Способы конвертации
- Форматы сертификатов
Найти приватный ключ .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 (см. секцию ниже в качестве примера).
Закрытый ключ сертификата с парольной защитой не всегда удобно использовать на реальном окружении. Например тот же Apache будет спрашивать пароль при каждом рестарте сервиса, что будет требовать человеческого участия. Обойти проблему можно, сняв пароль с закрытого ключа:
Будьте крайне осторожны в этом случае, чтобы не допустить компрометацию закрытого ключа. Установите на файл соответствующие права, чтобы никто кроме вас не имел к нему доступ:
Ну а теперь рассмотрим обратную процедуру.
Windows — конвертация ssl сертификата pem в формат pfx (pkcs#12) с помощью подсистемы linux |
Будем собирать PFX файл в Windows 10 с помощью подсистемы Linux. У нас есть:
- Сертификат, cert.pem.
- Ключ, key.pem.
- Цепочка, certnew.p7b.
Включаем bash в Windows:
Windows 10 – включаем bash
На диске C создаём папку C:keys, переносим туда все нужные файлы:
Цепочка у нас в формате p7b, это стандартный формат, когда мы скачиваем цепочку с центра сертификации Windows. Переведём цепочку в PEM формат.
Запускаем bash. Для запуска bash нужно выполнить команду “bash” или “bash.exe”.
Проверим что пакет openssl установлен:
sudo dpkg -l | grep openssl
Если не установлен, то пакет ставится через 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
Получаем файл certnew.pem.
Выполняем запрос:
openssl pkcs12 -inkey key.pem -in cert.pem -certfile certnew.pem -export -out cert.pfx
У нас спросят пароль, зададим пароль:
Получаем файл cert.pfx.
Конвертация 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.
Общие преобразования 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).