Я отвечаю за обслуживание двух серверов Debian. Каждый раз, когда мне приходится что-то делать с сертификатами безопасности, я гуглю учебные пособия и отбиваю, пока это наконец не сработает.
Однако в своих поисках я часто сталкиваюсь с разными форматами файлов (.key
, .csr
, .pem
), но мне никогда не удавалось найти хорошее объяснение цели каждого формата файла.
Мне было интересно, могут ли хорошие люди здесь, в ServerFault, дать некоторые разъяснения по этому вопросу?
SSL существует достаточно долго, и вы думаете, что будут согласованы форматы контейнеров. И вы правы, есть. Слишком много стандартов, как это происходит. Так что это то, что я знаю, и я уверен, что другие будут вмешиваться.
/ etc / ssl / certs
) или может включать в себя всю цепочку сертификатов, включая открытый ключ, закрытый ключ и корневые сертификаты. Смущает, он также может кодировать CSR (например,. при использовании здесь) формат PKCS10 можно перевести в PEM. Название от Privacy Enhanced Mail (PEM), неудачный метод для безопасной электронной почты, но используемый формат контейнера живет и является переводом base64 ключей ASN.1./ etc / ssl / private
. Права на эти файлы очень важны, и некоторые программы откажутся загружать эти сертификаты, если они установлены неправильно.openssl pkcs12 -in file-to-convert.p12 -out inverted-file.pem -nodes
Несколько других форматов, которые появляются время от времени:
openssl x509 -inform der -in to-convert.der -out converted.pem
). Windows видит их как файлы сертификатов. По умолчанию Windows будет экспортировать сертификаты в формате .DER с другим расширением. Подобно....keystore
в качестве расширения. В отличие от сертификатов стиля .pem, этот формат имеет определенный способ включать сертификаты пути сертификации.Таким образом, существует четыре различных способа представления сертификатов и их компонентов:
Я надеюсь, что это поможет.
PEM сам по себе не сертификат, это просто способ кодирования данных. Сертификаты X.509 - это один из типов данных, который обычно кодируется с использованием PEM
PEM - это сертификат X.509 (структура которого определяется с использованием ASN.1), кодируемый с использованием ASN.1 DER (расширенные правила кодирования), затем запускаемый через кодирование Base64 и помещаемый между анкерными линиями в виде простого текста (сертификат BEGIN и END СЕРТИФИКАТ).
Вы можете представлять те же данные, используя представления PKCS # 7 или PKCS # 12, и для этого можно использовать утилиту командной строки openssl.
Очевидное преимущество PEM заключается в том, что безопасно вставлять в текст сообщения электронной почты, поскольку оно имеет якорные линии и является 7-битным чистым.
RFC1422 имеет более подробную информацию о стандарте PEM, поскольку он касается ключей и сертификатов.
Иногда файл .crt
уже является .pem
. См .: https://stackoverflow.com/questions/991758/openssl-pem-key