Я отвечаю за обслуживание двух серверов Debian. Каждый раз, когда мне нужно что-то делать с сертификатами безопасности, я гугляю по учебникам и отбиваю, пока все не заработает.
Тем не менее, в моих поисках , я часто сталкиваюсь с различными форматами файлов ( .key
, .csr
, .pem
) , но я никогда не был в состоянии найти хорошее объяснение того , что цель каждого формата файла является.
Мне было интересно, могут ли хорошие люди здесь в ServerFault дать некоторые разъяснения по этому вопросу?
certificate
pki
Ной Гудрич
источник
источник
Ответы:
SSL существует достаточно долго, и вы думаете, что будут согласованы форматы контейнеров. И ты прав, есть. Слишком много стандартов, как это происходит. Так что это то, что я знаю, и я уверен, что другие будут вмешиваться.
/etc/ssl/certs
) или может включать в себя всю цепочку сертификатов, включая открытый ключ, закрытый ключ и корневые сертификаты. Смущает, что он также может кодировать CSR (например, как здесь используется ), поскольку формат PKCS10 может быть переведен в PEM. Название взято из Privacy Enhanced Mail (PEM) , неудавшегося метода для защищенной электронной почты, но используемый формат контейнера живет на нем и является переводом base64 ключей ASN.1 x509./etc/ssl/private
. Права на эти файлы очень важны, и некоторые программы откажутся загружать эти сертификаты, если они установлены неправильно.openssl pkcs12 -in file-to-convert.p12 -out converted-file.pem -nodes
Несколько других форматов, которые появляются время от времени:
openssl x509 -inform der -in to-convert.der -out converted.pem
). Windows видит их как файлы сертификатов. По умолчанию Windows экспортирует сертификаты как файлы в формате .DER с другим расширением. Подобно....keystore
вместо этого часто использует как расширение. В отличие от сертификатов стиля .pem, этот формат имеет определенный способ включения сертификатов пути сертификации.Таким образом, существует четыре различных способа представления сертификатов и их компонентов:
Надеюсь, это поможет.
источник
ssh-keygen
. Было бы полезно узнать, как это связано с остальными.PEM сам по себе не является сертификатом, это просто способ кодирования данных. Сертификаты X.509 - это один тип данных, который обычно кодируется с использованием PEM.
PEM является сертификатом X.509 (структура которого определяется с использованием ASN.1), кодируется с использованием DER ASN.1 (отличительные правила кодирования), затем проходит через кодирование Base64 и застревает между строками привязки простого текста (BEGIN CERTIFICATE и END CERTIFICATE). ).
Вы можете представлять одни и те же данные, используя представления PKCS # 7 или PKCS # 12, и для этого можно использовать утилиту командной строки openssl.
Очевидное преимущество PEM заключается в том, что его можно вставить в текст сообщения электронной почты безопасно, поскольку он имеет якорные строки и является 7-битным чистым.
RFC1422 содержит более подробную информацию о стандарте PEM, так как он связан с ключами и сертификатами.
источник
openssl x509 -inform der -in cert.cer -out cert.pem
. Чтобы преобразовать файл PEM в DER:openssl x509 -outform der -in cert.pem -out certi.der
. Для преобразования PKCS # 12 файл (PFX - .p12) , содержащий закрытый ключ и сертификаты на PEM:openssl pkcs12 -in keyStore.pfx -out keyStore.pem -nodes
. Чтобы преобразовать файл сертификата PEM и секретный ключ к PKCS # 12 (.pfx .p12):openssl pkcs12 -export -out cert.pfx -inkey privateKey.key -in cert.crt -certfile CACert.crt
От здесьИногда
.crt
файл уже есть.pem
. Смотрите: https://stackoverflow.com/questions/991758/openssl-pem-keyисточник
.foobar
всем, что имеет значение ...