Что такое файл Pem и как он отличается от другого OpenSSL Сгенерированные Форматы Файла ключей?

Я был счастливо ООН, упаковывающей их с 7 zip.

1366
задан 18 February 2015 в 17:19
3 ответа

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

  • .csr - Это - Сертификат, Подписывая Запрос. Некоторые приложения могут генерировать их для представления к центрам сертификации. Фактический формат является PKCS10, который определяется в RFC 2986. Это включает некоторые/все ключевые детали требуемого сертификата, такие как предмет, организация, состояние, этажерка, а также открытый ключ сертификата, который будет подписан. Они подписываются CA, и сертификат возвращается. Возвращенный сертификат является общедоступным сертификатом (который включает открытый ключ, но не закрытый ключ), который сам может быть в нескольких форматах.
  • .pem - Определенный в 1421 - 1424 RFCs, это - формат контейнера, который может включать просто общедоступный сертификат (такой как с установками Apache и файлами сертификата CA /etc/ssl/certs), или может включать всю цепочку сертификата включая открытый ключ, закрытый ключ и корневые сертификаты. Смутно, это может также закодировать CSR (например, как используется здесь), поскольку формат PKCS10 может быть переведен в PEM. Имя от Почты с усовершенствованной защитой (PEM), неудавшегося метода для безопасной электронной почты, но формат контейнера это использовало жизни на, и base64 перевод ключей 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 файл является просто закодированным .der файлом Base64. OpenSSL может преобразовать их в .pem (openssl x509 -inform der -in to-convert.der -out converted.pem). Windows рассматривает их как файлы Сертификата. По умолчанию Windows экспортирует сертификаты как.DER отформатированные файлы с другим расширением. Как...
  • .cert .cer .crt - .pem (или редко .der) отформатированный файл с другим расширением, то, которое распознано Windows Explorer как сертификат, который не .pem.
  • .p7b .keystore - Определенный в RFC 2315 как PKCS номер 7, это - формат, используемый Windows для обмена сертификата. Java понимает их исходно и часто использует .keystore как расширение вместо этого. В отличие от сертификатов стиля .pem, этот формат имеет определенный способ включать сертификаты пути сертификации.
  • .crl - Список аннулированных сертификатов. Центры сертификации производят их как путь к de-authorize сертификатам перед истечением. Можно иногда загружать их с веб-сайтов CA.

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

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

Я надеюсь, что это помогает.

1684
ответ дан 28 November 2019 в 19:13
  • 1
    Большая вещь о стандартах состоит в том, что существуют так многие для выбора из... –  squillman 19 May 2009 в 07:05
  • 2
    .crt является другим общим расширением для .cert и .cer –  David Pashley 6 June 2009 в 11:08
  • 3
    PEM является форматом файла, который может состоять из сертификата (иначе. открытый ключ), закрытый ключ или действительно оба конкатенировали вместе. Don' t обращают такое внимание на расширение файла; это означает Почту с усовершенствованной защитой, использование это didn' t видят много использования для, но формат файла слонялся поблизости. –  Dan Carley 25 June 2009 в 19:29

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

PEM является сертификатом X.509 (чья структура определяется с помощью ASN.1), закодировал использование ASN.1 DER (отличенные правила кодирования), затем пробегал кодирование Base64 и придерживался между якорными канатами простого текста (НАЧНИТЕ СЕРТИФИКАТ и СЕРТИФИКАТ КОНЦА).

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

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

RFC1422 имеет больше деталей о стандарте PEM, поскольку он имел отношение к ключам и сертификатам.

145
ответ дан 28 November 2019 в 19:13

Иногда файл .crt уже является .pem . См .: https://stackoverflow.com/questions/991758/openssl-pem-key

56
ответ дан 28 November 2019 в 19:13

Теги

Похожие вопросы