Форматы SSL-сертификатов и расширения файлов сертификатов: Полное руководство

Понять, что такое SSL-сертификат и как он работает, довольно просто. Но когда дело доходит до установки его на сервер, иногда может показаться, что Вы имеете дело с ракетостроением.

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

В этом подробном руководстве мы разберем каждый формат SSL-сертификата и расширения файлов сертификатов, а также покажем Вам два способа конвертирования файлов различных типов.


Оглавление

  1. Форматы файлов сертификатов – основы
  2. Форматы и расширения файлов SSL-сертификатов
  3. Преобразование формата SSL

Форматы файлов сертификатов – основы

Давайте начнем с основ. Все SSL-сертификаты являются Сертификаты x.509. Это стандартный формат сертификатов открытых ключей, выраженный на формальном языке под названием Abstract Syntax Notation One. Мы не будем углубляться в структуру X.509; Вы можете прочитать об этом в Wiki. Здесь мы обсуждаем такие форматы сертификатов SSL, как DER, PEM, PKCS#7 и PKCS#12.

Простой способ отличить их – посмотреть на их кодировку.

В PEM и PKCS#7 используется кодировка Base ASCII (American Standard Code for Information Interchange). Это популярный стандарт для файлов, содержащих текст.

В DER и PKCS#12 используется двоичное кодирование – система чисел по основанию 2, состоящая только из нулей и единиц.

Из-за различных форматов и кодировок сертификаты SSL имеют множество расширений файлов.


Форматы и расширения файлов SSL-сертификатов

Давайте внимательно рассмотрим каждый формат и расширения файлов SSL-сертификатов. Вы узнаете, что скрывается за каждой аббревиатурой и в какой системе она используется чаще всего.

Формат DER

DER расшифровывается как Distinguished Encoding Rules, формат двоичного кодирования, редко используемый за пределами Windows. Он содержится в файлах .der или .cer.


Формат PEM

PEM – самый популярный формат SSL-сертификатов, и именно с ним Вы, скорее всего, столкнетесь. Большинство центров сертификации предлагают SSL-сертификаты в формате PEM с различными расширениями файлов сертификатов, такими как .pem, .crt, .cer или .key.

PEM расшифровывается как Privacy-Enhanced Email, и Вы, возможно, задаетесь вопросом, какое отношение имеет электронная почта к сертификату SSL? Короче говоря, PEM не справился со своей основной задачей, но нашел свое применение в качестве формата контейнера.

По сути, файлы PEM – это Base64-кодированные DER-файлы, в которых нули и единицы закодированы в последовательность печатаемых символов. Таким образом, Вы сможете открыть их в любом текстовом редакторе, включая Блокнот.

Один файл .pem может содержать сертификат сервера, промежуточный сертификат и закрытый ключ. В качестве альтернативы Вы можете получить сертификат сервера и промежуточный сертификат в отдельном файле .crt или .cer, а закрытый ключ может находиться в файле .key.


Формат PKCS#7

PKCS расшифровывается как Public Key Cryptography Standards.

PKCS#7 – это многоцелевой формат SSL-сертификатов для распространения зашифрованных данных. В основном он используется на платформах Windows и Java Tomcat.

Сегодня мы используем его преемника CMS (Cryptographic Message Syntax), но, как и в случае с SSL и TLS, старое название стало слишком привычным, чтобы его заменять.

PKSC#7 имеет два расширения файлов: .p7b или p7c. В отличие от PEM, PKCS#7 не может хранить закрытые ключи, только первичные и промежуточные сертификаты.


Формат PKCS#12

PKCS#12 – это еще один стандарт публичной криптографии с повышенной безопасностью. Как и PEM-файл, он может включать всю цепочку SSL-сертификатов и пару ключей в одном файле .pfx. Основное отличие заключается в том, что ПККС#12 – это контейнер, защищенный паролем.

Некоторые серверные системы предлагают Вам ввести пароль во время генерации CSR, и Вы можете использовать его для открытия файлов .pfx.


Преобразование формата SSL

Теперь, когда Вы знаете форматы SSL-сертификатов и их многочисленные расширения, пришло время рассказать о том, чего Вы так долго ждали – как преобразовать SSL-сертификат в любой формат.

Как и в случае с большинством конвертирований файлов, к ним можно подойти по-разному. Самый быстрый вариант – использовать инструмент автоматического преобразования SSL. Все, что Вам нужно сделать, это выбрать желаемую операцию, например, преобразование PEM в PKCS#7, загрузить файлы, а затем нажать кнопку Convert.

В качестве альтернативы Вы можете использовать бесплатную программную библиотеку OpenSSL для преобразования Ваших SSL-файлов. Эта утилита позволяет использовать протокол SSL/TLS практически на любом существующем сервере. Многие платформы и дистрибутивы Linux поставляются с предустановленной утилитой OpenSSL. Для Windows Вам придется получить установочный пакет.


Преобразование X.509 в PEM

Чтобы преобразовать X.509 в PEM, выполните следующую команду в OpenSSL:

openssl x509 -in certificatename.cer -outform PEM -out certificatename.pem


Преобразование DER в PEM

Двоичное кодирование в Base64 ASCII.

Чтобы преобразовать DER в PEM, выполните следующую команду:

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


Преобразование PEM в DER

Base65 ASCII в двоичную кодировку.

Чтобы преобразовать PEM в DER, выполните следующую команду:

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


Преобразование PEM в PKCS#7

Файл .p7b не содержит закрытого ключа.

Чтобы преобразовать PEM в PKCS#7, выполните следующую команду:

openssl crl2pkcs7 -nocrl -certfile certificatename.pem -out certificatename.p7b -certfile CACert.cer


Преобразование PKCS#7 в PEM

Чтобы преобразовать PKCS#7 в PEM, выполните следующую команду:

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


Преобразование PKCS#12 в PEM

Файл PKCS#12 защищен паролем.

Чтобы преобразовать PKCS#12 в PEM, выполните следующую команду:

openssl pkcs12 -in certificatename.pfx -out certificatename.pem


Преобразование PKCS7 в PKCS12

Для этого необходимо выполнить два шага. Сначала Вы преобразуете файл P7B в CER, а затем объедините CER и закрытый ключ в PFX.

  1. openssl pkcs7 -print_certs -in certificatename.p7b -out certificatename.cer
  2. openssl pkcs12 -export -in certificatename.cer -inkey privateKey.key -out certificatename.pfx -certfile cacert.cer

Вот, собственно, и все. Теперь Вы можете быстро конвертировать и установить на свой сервер любой тип SSL-файла.


Заключение

Понимание форматов SSL-сертификатов, расширений файлов сертификатов и того, как преобразовать их в нужную Вам конфигурацию, – ценный навык, который поможет Вам без проблем установить SSL-сертификаты в любой системе.

Выбор правильного формата SSL обеспечит надежное шифрование и безопасные соединения на веб-серверах, почтовых клиентах, устройствах VPN и в сетях.

Часто задаваемые вопросы

Какое расширение файла используется для экспортированного файла резервной копии сертификата?

Расширение файла, используемое для экспортированного файла резервной копии сертификата, зависит от формата и типа сертификата. Наиболее распространенными файлами резервных копий сертификатов являются .p12 и .pfx (системы Windows), .cer и .crt, а также .key для резервного копирования закрытого ключа.

Копировать ссылку

Какие типы файлов SSL-сертификатов принимает APACHE2?

Apache использует формат сертификатов PEM с расширениями файлов .cer .crt и .key.

Копировать ссылку

Как создать формат ssl-certificate.pem в Linux?

Чтобы создать SSL-сертификат в формате PEM в Linux, Вы можете воспользоваться инструментарием OpenSSL и его командными строками. После того, как Вы получили SSL-сертификат от ЦС, Вы можете создать файл формата PEM, соединив закрытый ключ и SSL-сертификат в один файл с помощью следующей команды:

cat private.key your_ssl_certificate.crt > your_ssl_certificate.pem

Копировать ссылку

Как определить формат SSL-сертификата?

Откройте Ваш файл SSL с помощью любого текстового редактора. Если Вы видите надпись “—–BEGIN CERTIFICATE—–” в начале файла сертификата и “—–END CERTIFICATE—–” в конце файла, значит, сертификат выполнен в формате PEM. Если сертификат имеет формат DER, он не будет содержать этих меток и вместо этого будет представлять собой двоичный файл.

Копировать ссылку

Какой формат файла сертификата содержит закрытый ключ?

Формат PKCS#12 или PFX содержит сертификаты (S) и закрытый ключ. В этом формате закрытый ключ и соответствующий сертификат хранятся в одном зашифрованном файле.

Копировать ссылку

Как экспортировать SSL-сертификат в формат .pfx?

Мы написали подробное руководство о том, как импортировать и экспортировать файл PFX в Microsoft IIS (Internet Information Services).

Копировать ссылку

Сэкономьте 10% на SSL-сертификатах при заказе сегодня!

Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10

Написано

Опытный автор контента, специализирующийся на SSL-сертификатах. Превращает сложные темы кибербезопасности в понятный, увлекательный контент. Вносите свой вклад в повышение уровня цифровой безопасности с помощью впечатляющих рассказов.