Как конвертировать SSL-сертификат

12 Февраля 2019

Довольно часто для успешной установки SSL-сертификатов на разных платформах и устройствах нужно преобразовать их в другой формат. Так, Windows-серверы используют, как правило, PFX-формат, а для Apache нужны PEM-файлы, имеющие расширение .crt или .cer. Попытаемся разобраться, какие форматы бывают и как конвертировать их из одного формата в другой.

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

Таблица 1 содержит описание часто используемых форматов SSL-сертификатов.

Таблица 1. Форматы SSL-сертификаты

Формат Описание
PEM Самый распространенный формат сертификата. Файлы в таком формате имеют расширение .pem, .crt, .cer и .key (файл приватного ключа). Сами по себе файлы являются обычными ASCII-файлами, закодированными в формате Base64. При открытии такого сертификата в текстовом редакторе вы видите строку ---BEGIN CERTIFICATE---, после чего следует закодированный сертификат, а после – строка ---END CERTIFICATE---.
Веб-сервер Apache использует формат PEM. В одном файле может содержаться несколько SSL-сертификатов и даже приватный ключ. В этом случае каждый сертификат отделяется от остальных тегами BEGIN и END. Однако Apache требует, чтобы сертификаты и приватный ключ должны быть в разных файлах.
DER Бинарный тип сертификата – в отличие от PEM, где сертификат хранится в ASCII-файле. Файлы сертификатов в этом формате часто имеют расширение .cer, но можно встретить и расширение .der. Если перед вами файл с расширением .cer, то для вычисления его формата нужно открыть его в текстовом редакторе. Если вы увидите теги начала и окончания сертификата (BEGIN/END), то это формат PEM. Формат DER используется, как правило, на Java-платформах.
PKCS # 7 / P7B Файл сертификата в этом формате хранятся в формате Base64 ASCII и имеют расширение файла .p7b или .p7c. В файлах находятся теги начала и окончания сертификата – "—— BEGIN PKCS7 ——" и "«—— END PKCS7 ——". Данный формат поддерживается Windows и Java Tomcat.
PFX Бинарный формат, при использовании этого формата в зашифрованном файле хранятся ваш личный сертификат сервера, промежуточные сертификаты центра сертификации, а также закрытый ключ. PFX файлы, как правило, имеют расширение .pfx или .p12. Обычно используется в Windows для импорта и экспорта файлов SSL сертификатов и приватного ключа.
Если облака для вас
не просто теория
Широкий спектр услуг
по выделенным северам
и мультиклауд-решениям
Конфигурация VPS и бесплатный тест уже через 2 минуты
Организация вашей IT-инфраструктуры на основе мультиклауд-решения

Конвертирование форматов сертификатов

Таблица 2 содержит команды конвертирования SSL-сертификатов из одного формата в другой.

Таблица 2. Команды конвертирования

Направление Команда
PEM -> DER openssl x509 -outform der -in certificate.pem -out certificate.der
PEM -> P7B openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer
PEM -> PFX openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
DER -> PEM openssl x509 -inform der -in certificate.cer -out certificate.pem
P7B -> PEM openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
P7B -> PFX openssl pkcs7 -print_certs -in certificate.p7b -out certificate.ceropenssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CACert.cer
PFX -> PEM openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes

Получить консультацию специалиста
Персональный ассистент
Cloud.Xelent