Что такое Pem-файл и как он отличается от других форматов файлов Open Generated Key? Конвертирование сертификатов при помощи OpenSSL Форматы pem cer cert crt

На серверы с операционной системой Windows и на их веб-серверы IIS необходимо устанавливать нестандартные форматы файлов сертификата - .pfx. После выпуска сертификата, приобретенного у нас, вам доступны для скачивания файлы в формате PEM (.crt, .ca-bundle), которых может быть недостаточно для установки на Windows хостинг.

Если взять один зашифрованный файл формата.pfx, в нем хранятся сразу и приватный ключ (.key), и сертификат (.crt), и цепочка сертификатов (.ca-bundle).

Мы расскажем, как из файлов SSL-сертификата получить файлы в формате .pfx .

1. Скачать архив сертификата из SSL панели.

Попасть в SSL-панель можно из Панели клиента на нашем сайте. Перейдите в раздел Мои услуги, нажмите кнопку Детали возле сертификата.

Здесь нажмите Скачать архив с сертификатом.

В архиве вам необходимы:

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

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

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

3. Объединить файлы.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.

Я отвечаю за поддержку двух серверов Debian. Каждый раз, когда я должен что-либо делать с сертификатами безопасности, я Google для учебных пособий и отбиваю, пока он, наконец, не работает.

Однако в моих поисках я часто сталкиваюсь с разными форматами файлов (.key , .csr , .pem)), но я никогда не было в состоянии найти хорошее объяснение того, какова цель каждого файла.

Мне было интересно, могут ли хорошие люди здесь в ServerFault дать некоторые разъяснения по этому вопросу?

3 ответа

1377

SSL существует достаточно долго, вы можете подумать, что будут согласованы форматы контейнеров. И ты прав, есть. Слишком много стандартов, как это бывает. Так вот что я знаю, и я уверен, что другие будут звонить.

  • .csr . Это запрос на подпись сертификата. Некоторые приложения могут генерировать их для отправки в органы сертификации. Фактический формат - PKCS10, который определен в RFC 2986 . Он включает в себя некоторые /все ключевые данные запрашиваемого сертификата, такие как субъект, организация, состояние, еще что-то, а также открытый ключ сертификата для подписки. Они получают подписанный CA и сертификат возвращается. Возвращаемый сертификат является общедоступным сертификатом (который включает открытый ключ, но не закрытый ключ), который сам может быть в нескольких форматах.
  • .pem . Определено в RFC через , это формат контейнера, который может включать только открытый сертификат (например, с установками Apache и файлы сертификатов CA /etc/ssl/certs) или может включать целую цепочку сертификатов, включая открытый ключ, закрытый ключ и корневые сертификаты. Смутно, он может также кодировать CSR (например, в качестве ), поскольку формат PKCS10 может быть переведен на PEM. Имя от Privacy Enhanced Mail (PEM) , неудачный метод для защищенной электронной почты, но контейнер, в котором он используется, живет и является базовым преобразованием ключей x509 ASN.1.
  • .key . Это файл в формате PEM, содержащий только закрытый ключ конкретного сертификата, и является просто условным именем, а не стандартизованным. В установках Apache это часто находится в /etc/ssl/private . Права на эти файлы очень важны, и некоторые программы откажутся загружать эти сертификаты, если они установлены неправильно.
  • .pkcs12 .pfx .p12 . Первоначально определяется RSA в стандартах шифрования с открытым ключом (сокращенно PKCS), вариант «12» был первоначально расширен Microsoft, а позже представлен как RFC 7292 . Это парольный формат контейнера, который содержит как открытые, так и частные пары сертификатов. В отличие от файлов.pem, этот контейнер полностью зашифрован. Openssl может превратить это в.pem-файл с открытым и закрытым ключами: openssl pkcs12 -in file-to-convert.p12 -out converted-file.pem -nodes

Несколько других форматов, которые появляются время от времени:

  • .der . Способ кодирования синтаксиса ASN.1 в двоичном файле.pem - это только файл с кодировкой Base64. OpenSSL может преобразовать их в.pem (openssl x509 -inform der -in to-convert.der -out converted.pem). Windows рассматривает их как файлы сертификатов. По умолчанию Windows будет экспортировать сертификаты как файлы формата.DER с другим расширением. Как...
  • .cert .cer .crt . Файл с расширением.pem (или редко.der) с другим расширением, признанным проводником Windows в качестве сертификата, который не является.pem.
  • >
  • .p7b .keystore . Определено в RFC 2315 как PKCS номер 7, это формат, используемый Windows для обмена сертификатами. Java понимает их изначально и часто использует.keystore как расширение. В отличие от сертификатов стиля.pem, этот формат имеет определенный способ включения сертификатов сертификационного пути.
  • .crl - Список отзыва сертификатов. Органы сертификации выражают это как способ отмены авторизации сертификатов до истечения срока действия. Иногда вы можете загружать их с веб-сайтов CA.

Таким образом, существует четыре способа представления сертификатов и их компонентов:

  • PEM - управляемый RFC, он используется преимущественно программным обеспечением с открытым исходным кодом. Он может иметь множество расширений (.pem, .key, .cer, .cert, more)
  • PKCS7 - открытый стандарт, используемый Java и поддерживаемый Windows. Не содержит личный материал.
  • PKCS12 - частный стандарт Microsoft, который позже был определен в RFC, который обеспечивает повышенную безопасность по сравнению с форматом PEM с открытым текстом. Это может содержать секретный ключевой материал. Он используется преимущественно системами Windows и может быть свободно преобразован в формат PEM с помощью openssl.
  • DER - родительский формат PEM. Полезноподумайте об этом как о двоичной версии файла PEM с кодировкой base64. Не всегда используется много за пределами Windows.

Надеюсь, это поможет.

PEM на своем собственном не является сертификатом, это всего лишь способ кодирования данных. Сертификаты X.509 - это один тип данных, который обычно кодируется с использованием PEM.

PEM - это сертификат X.509 (структура которого определена с использованием ASN.1), закодированная с использованием ASR.1 DER (выделенные правила кодирования), затем выполняется через кодировку Base64 и застревает между строками якорных текстовых строк (BEGIN CERTIFICATE и END CERTIFICATE).

Вы можете представлять одни и те же данные с помощью представлений PKCS # 7 или PKCS # 12, и для этого можно использовать служебную программу командной строки openssl.

Очевидными преимуществами PEM является то, что безопасно вставлять в тело сообщения электронной почты, потому что он имеет линии привязки и имеет 7-битную чистоту.

RFC1422 имеет более подробную информацию о стандарте PEM, относящемся к ключам и сертификатам.

При запуске шифрования на сайте, каждый сервер требует отдельный тип файла с сертификатом. Конвертер SSL позволяет быстро и легко заменить файлы 6 форматов — в зависимости от системных требований. Возможные варианты: PEM, DER, PKCS#7, P7B, PKCS#12 и PFX.

Если Ваш сертификат был выдан в формате, который не осблуживается сервером, воспользуйтесь нижеуказанным конвертером:

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

Формат PEM

Самый популярный формат используемый Центрами Сертификации для выписки SSL -сертификатов. В этом формате может выдаваться так же промежуточный или главный CA. Этот тип распознаётся после расширений файла: .pem , .crt , .cer или .key (в файлах содержатся линии BEGIN и END сертификата, ключа и т.д.). Он закодирован в формате Base64.

PEM компатибильный с серверами Apache и подобными. Во время инсталяции большинство серверов требуют отдельные файлы – сертификат(ы) не могут быть соединены с приватным ключём и т.д.

Формат DER

Это бинарная форма PEM. Файлы с этим форматом сертификата могут иметь окончание .der или .cer.

DER в основном используется для установки на серверахJava . Конвертер позволяет изменять сертификат в формат типа.der, для преобразования ключа необходимо использовать команду OpenSSL .

Формат PKCS#7 или P7B

Эти файлы обычно кодируются в формате Base64 и имеют окончание .p7b или .p7c . Файлы P7B содержат линии "-----BEGIN PKCS7-----" и "-----END PKCS7-----". В этом формате нету приватных ключей.

PKCS#7 и P7B используются для инсталяции м.п. на серверах Microsoft Windows и Java Tomcat .

Формат PKCS#12 или PFX

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

Во время изменения формата PFX на PEM, в одном файле будет размещён сертфикат и приватный ключ. С целью их разделения, необходимо открыть файл в текстовом редакторе, скопировать его в отдельные файлы вместе с линиями: BEGIN i END, а затем записать как sertifikat.cer, CA.cer и ключ приватный.key.


Нажмите , чтобы использовать для конвертации команды OpenSSL.



Поделиться