Форматы сертификатов X.509 (SSL) и преобразования между ними
SSL-сертификаты все плотнее входят в нашу жизнь и трудно представить современного администратора, никогда не имевшего с ними дело. Но, как показывает практика, работа с сертификатами все еще вызывает затруднение у многих наших коллег и виной тому недостаточный объем теоретических знаний. Наиболее частые сложности возникают с форматами сертификатов, поэтому мы сегодня решили внести ясность в этот вопрос и разобрать какие форматы сертификатов бывают и как можно выполнять преобразования между ними.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Форматы сертификатов
Начнем с того, что термин сертификат не является полностью корректным. Если мы говорим об инфраструктуре открытых ключей (PKI), то в ее основе лежит понятие ключевой пары — открытого и закрытого ключа. Сертификат — это средство распространения открытого ключа, которое содержит сам открытый ключ и ряд дополнительной информации. Сертификат является публичным и общедоступным. Закрытый ключ, наоборот, секретная информация и должен храниться в безопасном месте.
Но, как говорится, из песни слов не выкинешь и понятие сертификат широко используется и специалистами, и простыми пользователями в самом широком смысле: подразумевая и сам сертификат, и ключ сертификата, и полностью ключевую пару. Поэтому, каждый раз, когда вам встречается это слово, то нужно, прежде всего определиться в каком контексте оно употребляется и что именно значит.
Также при работе с сертификатами вам обязательно встретится аббревиатура X.509, это стандарт для сертификатов и ключей PKI, определяющий их формат, структуру и способы работы с ними. Поэтому, когда речь идет о X.509, то мы понимаем, что это сертификаты PKI.
Но перейдем к форматам. Серьезную путаницу вносит то, что расширения сертификатов и ключей не всегда четко указывают на формат, точнее даже наоборот и точно убедиться с чем именно вы имеете дело можно только ознакомившись с содержимым. Мы не будем рассматривать все возможные варианты форматов, ограничимся только самыми ходовыми.
Формат DER
Это бинарный формат для сертификатов и ключей, фактически он является исходным, так как изначально ключи — это некоторые бинарные сущности. Чаще всего используется на платформе Java и в Windows, там это формат по умолчанию. Могут использовать расширения .der и .cer, но ничего не мешает дать такому файлу другое широко используемое расширение.
Поэтому для выяснения формата файла следует просмотреть его содержимое или воспользоваться командой file в Linux:
file mycert.cer
Если сертификат бинарный, то в ответ вы получите:
mycert. cer: data
Все тоже самое справедливо и для закрытого ключа, который чаще всего имеет расширение .key.
Формат PEM
Данный формат наиболее популярен и распространен, особенно в открытом ПО. Представляет кодированный при помощи Base64 формат DER и по сути является обычным текстовым файлом. Характерными особенностями являются обязательные строки, между которыми находится содержимое сертификата или ключа:
-----BEGIN CERTIFICATE-----
Содержимое сертификата Base64 ASCII
-----END CERTIFICATE-----
А команда file определяет такой файл как:
mycert.crt: ASCII text, with CRLF line terminators
Контейнер в формате PEM может содержать один или несколько сертификатов, закрытый ключи или сертификат(ы) и закрытый ключ одновременно. В этом случае каждый из них обрамляется обязательными строками BEGIN и END. Кроме расширения .pem могут также использоваться .cer, . crt и .key для ключа. Поэтому определять формат следует по типу содержимого.
Формат PKCS #7
Специальный контейнер, предназначенный для хранения сертификатов и/или списков отзыва (CRL), может иметь расширения .p7b или .p7c. Важной особенностью является то, что данный формат не предназначен для хранения закрытого ключа и используется только для сертификатов. Чаще всего используется в Windows системах.
Может иметь как DER, так и PEM формат, в последнем случае файл имеет обязательные строки:
-----BEGIN PKCS7-----
Содержимое Base64 ASCII
-----END PKCS7-----
Данный контейнер в основном определяется по расширению, а его внутренний формат по содержимому.
Формат PKCS #12
Данный формат предназначен для хранения закрытого ключа и сертификата, кроме них может содержать полную цепочку доверия и список отзыва. Часто используется для распространения и хранения ключевой пары. Наибольшее распространение имеет в Windows системах и является дальнейшим развитием контейнера PFX от Microsoft, в настоящий момент эти аббревиатуры употребляются как синонимы.
Имеет бинарный формат и защищен паролем (можно оставить пустой пароль), определяется по расширениям .pfx, .p12, .pkcs12.
Преобразование форматов
Для всех дальнейших действий мы будем использовать OpenSSL на платформе Linux, для работы в среде Windows вам потребуется несколько изменить синтаксис в части определения путей. Все команды выполняются от имени того пользователя, который является владельцем сертификата. Также помним, что форматом по умолчанию для OpenSSL является PEM.
PEM в DER
Для преобразования сертификата из PEM в DER выполните:
openssl x509 -in cert.pem -out cert.der -outform DER
Для закрытого ключа:
openssl rsa -in privkey.pem -out privkey.der -outform DER
Для получения нужного результата мы явно указываем выходной формат — DER.
DER в PEM
Синтаксис команд схож, для сертификата:
openssl x509 -inform DER -in cert.der -out cert.pem
Для закрытого ключа:
openssl rsa -inform DER -in privkey. der -out privkey.pem
Обратите внимание, что в данной команде мы, наоборот, явно указываем входной формат.
PEM в PKCS #7
Для примера объединим два сертификата: собственно наш сертификат и сертификат удостоверяющего центра.
openssl crl2pkcs7 -nocrl -certfile cert.pem -certfile cacert.pem -out cert.p7c
Ключ -nocrl указывает, что мы не включаем в контейнер список отзыва. Каждый включаемый в контейнер сертификат задается отдельной опцией -certfile.
Для создания контейнера с CRL используем команду:
openssl crl2pkcs7 -in crl.pem -certfile cert.pem -certfile cacert.pem -out cert.p7c
Так как мы не указывали ни входной, ни выходной форматы, то на входе используем сертификаты формата PEM и получаем контейнер с тем же форматом. Для получения файла в формате DER укажите:
openssl crl2pkcs7 -nocrl -certfile cert.pem -certfile cacert.pem -out cert.p7c -outform DER
Преобразовать сертификаты в формате DER сразу в PKCS #7 нельзя, их следует сначала преобразовать в формат PEM.
PEM в PKCS #12
Создадим контейнер, в который поместим собственно ключевую пару и дополнительный сертификат CA:
openssl pkcs12 -export -in cert.pem -inkey privkey.pem -certfile cacert.pem -out cert.p12
В ключе -in указываем сертификат, связанный с закрытым ключом, в -inkey — закрытый ключ, затем добавляем нужное количество опций -certfile для включения дополнительных сертификатов, которые будут формировать цепочку доверия.
PKCS #7 в PEM
Мы можем вывести все сертификаты файла PKCS #7 в PEM командой:
openssl pkcs7 -print_certs -in cert3.p7b -out certs.pem
Если исходный файл в формате DER, то добавьте:
openssl pkcs7 -print_certs -inform DER -in cert3.p7b -out certs.pem
Напоминаем, что определять формат PKCS #7 следует по содержимому.
PKCS #12 в PEM
Данный контейнер может содержать как ключевую пару, так и дополнительные сертификаты, чтобы вывести их все в формат PEM используйте команду:
openssl pkcs12 -in cert. p12 -out certs.pem -nodes
Последний ключ -nodes указывает на то, что не нужно шифровать закрытый ключ.
Но что, если нам нужно получить только отдельные части контейнера? Ничего сложного.
Для вывода только сертификата и закрытого ключа используйте:
openssl pkcs12 -in cert.p12 -clcerts -out certs.pem -nodes
Только сертификата:
openssl pkcs12 -in cert.p12 -clcerts -out cert.pem -nodes -nokeys
Так как мы не извлекаем ключ, то опция -nodes как бы не нужна, но она подавляет появления запроса на пароль для экспортируемого файла.
Для вывода только сертификата(ов) CA:
openssl pkcs12 -in cert.p12 -cacerts -out cacert.pem -nodes -nokeys
Только закрытого ключа:
openssl pkcs12 -in cert.p12 -out privkey.pem -nodes -nocerts
Как видим, при помощи OpenSSL не составляет никакого труда разобрать контейнер PKCS #12 на составляющие.
Установить / снять пароль с закрытого ключа
Еще одна часто встречающаяся задача: снять пароль с закрытого ключа, для этого используйте команду:
openssl rsa -in privkey. key -out privkey-nopass.key
Обратная операция выполняется командой:
openssl rsa -des3 -in privkey.key -out privkey-pass.key
Где -des3 указывает на алгоритм шифрования, допустимы значения: -aes128, -aes192, -aes256, -aria128, -aria192, -aria256, -camellia128, -camellia192, -camellia256, -des, -des3, -idea. Перед их использованием следует уточнить, какие именно из них поддерживает тот софт, с которым вы собираетесь использовать ключ.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
WEB-приложение Сведение отчетности (24.06.2023) | (одним файлом) (cсылка) | ||
Для корректного использования сертификатов в текущем сервисе требуется, чтобы сертификаты были в формате PEM (закодированными в Base64 кодировке), аналогично формату, использующемуся в Apache. Также необходимо, чтобы сертификаты хранились каждый в своем файле, т.е. Рассмотрим наиболее часто встречаемые форматы и способы конвертации каждого из них в PEM формат. Формат PEM. Это целевой формат, в который нужно сконвертировать свои сертификаты, в случае если они находятся в других форматах. Обычно файлы имеют раширение.pem,.crt,.cer или.key. Формат DER. Это бинарная форма PEM формата. При открытии файлов данного типа в текстовом редакторе, строки BEGIN и END отсутствуют. Конвертация из DER в PEM : 1openssl x509 -inform der -in c:\cert.der -out c:\cert.pem Формат PKCS#7 или P7B. Данные сертификата обычно закодированы в формате Base64, и он не может содержать приватных ключей. При открытии файлов данного типа в текстовом редакторе можно увидеть строки «BEGIN PKCS7» и «END PKCS7». Конвертация из P7B в PEM : 1openssl pkcs7 -print_certs -in c:\cert.p7b -out c:\cert.pem
В случае затруднения в разделении на отдельные файлы, возможно, будет проще сконвертировать полученный на предыдущем шаге PEM файл и имеющийся приватный ключ (в PEM формате) в PFX формат, который затем сконвертировать в PEM формат, с разделением на отдельные файлы: Конвертация из PEM в PFX : 1openssl pkcs12 -export -out c:\cert.pfx -inkey c:\cert.key.pem -in c:\cert.pem Где:
Формат PKCS#12 или PFX Данные представлены в бинарной форме. Это файл контейнер который содержит все сертификаты — сертификат(ы) центра сертификации, сертификат домена и его приватный ключ. Конвертация из PFX в PEM :
Назначение, удаление или изменение пароля приватного ключа : 1openssl rsa -des3 -in c:\old_cert.key.pem -out c:\new_cert.key.pem -passin pass:old_password -passout pass:new_password Для удаления пароля не указывайте параметр passout. В случае если исходный файл без пароля, то не указывайте параметр passin. |
Как преобразовать сертификат .
cer в .pem?спросил
Изменено 1 месяц назад
Просмотрено 727 тысяч раз
У меня есть сертификат .cer
, и я хочу преобразовать его в формат .pem
.
Если я правильно помню, раньше я мог конвертировать их, экспортируя .cer
в Base64, затем переименовав файл в .pem
.
Как преобразовать сертификат .cer
в сертификат .pem
?
- ssl-сертификат
- convert
Преобразование файла DER (.crt .cer .der) в PEM
openssl x509 -inform der -in certificate.cer -out certificate.pem
Источник
3преобразовать файл .cer в .pem
открыть терминал и выполнить следующую команду
openssl x509 -inform der -in certificate. cer -outform pem -out certificate.pem
Где certificate.cer — исходный файл сертификата, который вы хотите преобразовать, а certificate.pem — имя преобразованного сертификата.
Если openssl недоступен в вашей системе, вы можете преобразовать сертификаты с помощью java keytool .
Однако сначала необходимо создать хранилище ключей Java (JKS). Затем сертификаты можно импортировать и экспортировать в различных форматах.
keytool -genkey -alias test -keystore <файл хранилища ключей> keytool -delete -alias test -keystore <файл хранилища ключей>
Преобразование из DER в PEM:
keytool -import -trustcacerts -alias test -file <файл сертификата der> -keystore test.keystore keytool -exportcert -alias test -file <файл сертификата pem> -rfc -keystore test.keystore
В этом сообщении блога подробно объясняется, как преобразовывать форматы сертификатов
2Ответ
Если ваш сертификат экспортируется с кодировкой
DER
, используйте принятый ответ:openssl x509 -inform der -in certificate. cer -out certificate.pem
Если ваш сертификат экспортируется с кодировкой
Base-64
, измените расширение файла с.cer
на.pem
, поскольку файл уже имеет формат.pem
.
Как сказать, что ваш
.cer
файл в формате .pem
?См. этот ответ stack-o, приведенный здесь:
Файл сертификата формата
.pem
, скорее всего, будет доступен для чтения в формате ASCII. Он будет иметь строку, начинающуюся с:
-----BEGIN CERTIFICATE-----
…за которойзакодированные в Base-64 данные
, за которыми следует
-----END CERTIFICATE -----
в конце. До или после могут быть другие строки.
Например, .pem
сертификат (сокращенный):
-----НАЧАТЬ СЕРТИФИКАТ----- MIIG6DCCBNCgAwIBAgITMgAAGCeh8HZoCVDcnwAAAAAYJzANBgkqhkiG9w0BAQsF ADBAMRUwEwYKCZImiZPyLGQBGRYFbG9jYWwxEzARBgoJkiaJk/IsZAEZFgNkb3Ix EjAQBgNVBAMTCURPUi1TVUJDQTAeFw0yMDA1MDExNTI0MTJaFw0yMjA1MDExNTI0 MTJaMBYxFDASBgNVBAMTC3dwZG9yd2VibDE2MIIBIjANBgkqhkiG9w0BAQEFAAOC . .. -----КОНЕЦ СЕРТИФИКАТА-----
Мы не должны забывать, что Windows может сделать это изначально:
certutil.exe -encode
и в обратном направлении:
certutil.exe -decode <файл pem> <файл der>
У меня сработало простое изменение расширения файла:
mv имя_файла.cer имя_файла.pem
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google Зарегистрироваться через Facebook Зарегистрируйтесь, используя электронную почту и парольОпубликовать как гость
Электронная почтаТребуется, но не отображается
Опубликовать как гость
Электронная почтаТребуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.
Сертификат. Почему этот файл PEM недействителен?
Задавать вопрос
спросил
Изменено 2 года, 4 месяца назад
Просмотрено 3к раз
У меня есть файл chain.pem
, который содержит два сертификата в кодировке PEM, первый из которых является сертификатом TSA, а второй — самоподписанным CA.
содержимое файла точно:
-----НАЧАТЬ СЕРТИФИКАТ----- MIIIATCCBemgAwIBAgIJAMHphhYNqOmCMA0GCSqGSIb3DQEBDQUAMIGVMREwDwYD VQQKEwhGcmVlIFRTQTEQMA4GA1UECxMHUm9vdCBDQTEYMBYGA1UEAxMPd3d3LmZy ZWV0c2Eub3JnMSIwIAYJKoZIhvcNAQkBFhNidXNpbGV6YXNAZ21haWwuY29tMRIw EAYDVQQHEwlXdWVyemJ1cmcxDzANBgNVBAgTBkJheWVybjELMAkGA1UEBhMCREUw HhcNMTYwMzEzMDE1NzM5WhcNMjYwMzExMDE1NzM5WjCCAQkxETAPBgNVBAoTCEZy ZWUgVFNBMQwwCgYDVQQLEwNUU0ExdjB0BgNVBA0TbVRoaXMgY2VydGlmaWNhdGUg ZGlnaXRhbGx5IHNpZ25zIGRvY3VtZW50cyBhbmQgdGltZSBzdGFtcCByZXF1ZXN0 cyBtYWRlIHVzaW5nIHRoZSBmcmVldHNhLm9yZyBvbmxpbmUgc2VydmljZXMxGDAW BgNVBAMTD3d3dy5mcmVldHNhLm9yZzEiMCAGCSqGSIb3DQEJARYTYnVzaWxlemFz QGdtYWlsLmNvbTESMBAGA1UEBxMJV3VlcnpidXJnMQswCQYDVQQGEwJERTEPMA0G A1UECBMGQmF5ZXJuMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtZEE jE5IbzTp3Ahif8I3UWIjaYS4LLEwvv9RfPw4+EvOXGWodNqyYhrgvOfjNWPg7ek0 /V+IIxWfB4SICCJ0YMHtiCYXBvQoEzQ1nfu4G9E1P8F5YQrxqMjIZdwA6iOzqJvm vQO6hansgn1gVlkF4i1qWE7ROArhUCgM7jl+mKAS84BGQAeGJEO8B3y5X0Ia8xcS 2Wg8223/uvPIululZq5SPUWdYXc0bU2EDieIa3wBxbiQ14ouJ7uo3S+aKBLhV9Yv khxlliVIBp3Nt9Bt4YHeDpVw1m+HIgzii2KKtVkG8+4MIQ9wUej0hYr4uaktCeRq 8tnLpb/PrRaM32BEkaSwZgOxFMr3Ax8GXn7u+lPFdfNJDAWdLjLdx2rE1MTHEGg7 l/0b5ZG8YQVRhtiPmgORswe2+R7ZVNqjb5rNah5Uqi5K3xdGS1TbGNu2/+MAgCRl RzcENs5Od7rl3m/g8/nW5/++tGHnlOkvsJUfiq5hpBLM6bIQdGNci+MnrhoPa0pk brD4RjvGO/hFUwQ10Z6AJRHsn2bDSWlS2L7LabCqTUxB9gUV/n3LuJMZzdpZumrq S+POrnGOb8tszX25/FC7FbEvNmWwqjByicLm3UsRHOSLotnv21prmlBgaTNPs09v x64zDws0IIqsgN8yZv3ZBGWHa6LLiY2VBTFbbnsCAwEAAaOCAdswggHXMAkGA1Ud EwQCMAAwHQYDVR0OBBYEFG52C3tOT5zhYMPtLOknoqKUs3c3MB8GA1UdIwQYMBaA FPpVDYw0ZlFDTPfns6dsla965qSXMAsGA1UdDwQEAwIGwDAWBgNVHSUBAf8EDDAK BggrBgEFBQcDCDBjBggrBgEFBQcBAQRXMFUwKgYIKwYBBQUHMAKGHmh0dHA6Ly93 d3cuZnJlZXRzYS5vcmcvdHNhLmNydDanBggrBgEFBQcwAYYbaHR0cDovL3d3dy5m cmVldHNhLm9yZzoyNTYwMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuZnJl ZXRzYS5vcmcvY3JsL3Jvb3RfY2EuY3JsMIHGBgNVHSAEgb4wgbswgbgGAQAwgbIw MwYIKwYBBQUHageWJ2h0dHA6Ly93d3cuZnJlZXRzYS5vcmcvZnJlZXRzYV9jcHMu aHRtbDayBggrBgEFBQcCARYmaHR0cDovL3d3dy5mcmVldHNhLm9yZy9mcmVldHNh X2Nwcy5wZGYwRwYIKwYBBQUHAgIwOxo5RnJlZVRTQSB0cnVzdGVkIHRpbWVzdGFT cGluZyBTb2Z0d2FyZSBhcyBhIFNlcnZpY2UgKFNhYVMpMA0GCSqGSIb3DQEBDQUA A4ICAQClyUTixvrAoU2TCn/QoLFytB/BSDw+lXxoorzZuXZPGpUBYf1yRy1Bpe7S d3hiA7VCIkD7OibN4XYIe2+xAR30zBniVxqkoFEQlmXpTEb1C9Kt7mrEE34lGyWj наваRRUV2P+eByCejsILeHT34aDt58AJN/6EozT4syZc7S2O2d9hOWWDZ3/rOCwe 47I+bqXwXfMN57n4kAXSUmb2EvOci09tq6bXv7rBljK5Bjcyn1Km8GahDkPqqB+E mmxf4/6LXqIydfaH8gUuUC6mwwdipmjM4Hhx3Y6X4xW7qSniVYmXegoxLOlsUQax Q3x3nys2GxgoiPPuiiNDdPoGPpVhkmJ/fEMQc5ZdEmCSjroAnoA0Ka4yTPlvBCNU 83vKWv3cefeTRqs4i/x58B3JhhJU6mzBKZQQdrg9IFVvO+UTJoN/KHb3gzs3Dnw9 QQUjgn1PU0AMciGNdSKf8QxviJOpo6HAxCu0yJjBPfQcf2VztPxWUVlxphCnsNKF fIIlqfsgTqzsouiXGqGvh5hqKuPHL+CgquhCmAp3vvFrkhFUWAkNmCtZRmA3ZOda CtPRFFS5mG9ni5q2r+hJcDOuOr/U60O3vJ3uaIFZSeZIFYKoLnhSd/IoIQfv45Ag DgUIrLjqguolBSdvPJ2io9O0rTi7+IQr2jb8JEgph2WNwC3R4A== -----КОНЕЦ СЕРТИФИКАТА----- -----НАЧАТЬ СЕРТИФИКАТ----- MIIH/zCCBeegAwIBAgIJAMHphhYNqOmAMA0GCSqGSIb3DQEBDQUAMIGVMREwDwYD VQQKEwhGcmVlIFRTQTEQMA4GA1UECxMHUm9vdCBDQTEYMBYGA1UEAxMPd3d3LmZy ZWV0c2Eub3JnMSIwIAYJKoZIhvcNAQkBFhNidXNpbGV6YXNAZ21haWwuY29tMRIw EAYDVQQHEwlXdWVyemJ1cmcxDzANBgNVBAgTBkJheWVybjELMAkGA1UEBhMCREUw HhcNMTYwMzEzMDE1MjEzWhcNNDEwMzA3MDE1MjEzWjCBlTERMA8GA1UEChMIRnJl ZSBUU0ExEDAOBgNVBAsTB1Jvb3QgQ0ExGDAWBgNVBAMTD3d3dy5mcmVldHNhLm9y ZzEiMCAGCSqGSIb3DQEJARYTYnVzaWxlemFzQGdtYWlsLmNvbTESMBAGA1UEBxMJ V3VlcnpidXJnMQ8wDQYDVQQIEwZCYXllcm4xCzAJBgNVBAYTAkRFMIICIjANBgkq hkiG9w0BAQEFAAOCAg8AMIICCgKCAgeAtgKODjAy8REQ2WTNqUudAnjhlCrpE6ql mQfNppeTmVvZrh5zutn+NwTaHAGpjSGv4/WRpZ1wZ3BRZ5mPUBZyLgq0YrIfQ5Fx 0s/MRZPzc1r3lKWrMR9sAQx4mN4z11xFEO529L0dFJjPF9MD8Gpd2feWzGyptlel b+PqT+++fOa2oY0+NaMM7l/xcNHPOaMz0/2olk0i22hbKeVhvokPCqhFhzsuhKsm q4Of/o+t6dI7sx5h0nPMm4gGSRhfq+z6BTRgCrqQG2FOLoVFgt6iIm/BnNffUr7V DYd3zZmIwFOj/h4DKHoGik/xK3E82YA2ZulVOFRW/zj4ApjPa5OFbpIkd0pmzxzd EcL479hSA9dFiyVmSxPtY5ze1P+BE9bMU1PScpRzw8MHFXxyKqW13Qv7LWw4sbk3 SciB7GACbQiVGzgkvXG6y85HOuvWNvC5GLSiyP9GlPB0V68tbxz4JVTRdw/Xn/XT FNzRBM3cq8lBOAVt/PAX5+uFcv1S9wFE8YjaBfWCP1jdBil+c4e+0tdywT2oJmYB BF/kEt1wmGwMmHunNEuQNzh2FtJY54hbUfiWi38mASE7xMtMhfj/C4SvapiDN837 gYaPfs8x3KZxbX7C3YAsFnJinlwAUss1fdKar8Q/YVs7H/nU4c4Ixxxz4f67fcVq M2ITKentbCMCAwEAAaOCAk4wggJKMAwGA1UdEwQFMAMBAf8wDgYDVR0PAQH/BAQD AgHGMB0GA1UdDgQWBBT6VQ2MNGZRQ0z357OnbJWveuaklzCBygYDVR0jBIHCMIG/ gBT6VQ2MNGZRQ0z357OnbJWveuakl6GBm6SBmDCBlTERMA8GA1UEChMIRnJlZSBU U0ExEDAOBgNVBAsTB1Jvb3QgQ0ExGDAWBgNVBAMTD3d3dy5mcmVldHNhLm9yZzEi MCAGCSqGSIb3DQEJARYTYnVzaWxlemFzQGdtYWlsLmNvbTESMBAGA1UEBxMJV3Vl cnpidXJnMQ8wDQYDVQQIEwZCYXllcm4xCzAJBgNVBAYTAkRFggkAwemGFg2o6YAw MwYDVR0fBCwwKjAooCagJIYiaHR0cDovL3d3dy5mcmVldHNhLm9yZy9yb290X2Nh LmNybDCBzwYDVR0gBIHHMIHEMIHBBgorBgEEAYHyJAEBMIGyMDMGCCsGAQUFBwIB ФидодHRwOi8vd3d3LmZyZWV0c2Eub3JnL2ZyZWV0c2FfY3BzLmh0bWwwMgYIKwYB BQUHageWJmh0dHA6Ly93d3cuZnJlZXRzYS5vcmcvZnJlZXRzYV9jcHMucGRmMEcG CCsGAQUFBwICMDsaOUZyZWVUU0EgdHJ1c3RlZCB0aW1lc3RhbXBpbmcgU29mdHdh cmUgYXMgYSBTZXJ2aWNlIChTYWFTKTA3BggrBgEFBQcBAQQrMCKwJwYIKwYBBQUH MAGGG2h0dHA6Ly93d3cuZnJlZXRzYS5vcmc6MjU2MDANBgkqhkiG9w0BAQ0FAAOC AgEAaK9+v5OFYu9M6ztYC+L69sw1omdyli89lZAfpWMMh9CRmJhM6KBqM/ipwoLt nxyxGsbCPhcQjuTvzm+ylN6VwTMmIlVyVSLKYZcdSjt/eCUN+41K7sD7GVmxZBAF ILnBDmTGJmLkrU0KuuIpj8lI/E6Z6NnmuP2+RAQSHsfBQi6sssnXMo4HOW5gtPO7 gDrUpVXID++1P4XndkoKn7Svw5n0zS9fv1hxBcYIHPPQUze2u30bAQt0n0iIyRLz aWuhtpAtd7ffwEbASgzB7E+NGF4tpV37e8KiA2xiGSRqT5ndu28fgpOY87gD3ArZ DctZvvTCfHdAS5kEO3gnGGeZEVLDmfEsv8TGJa3AljVa5E40IQDsUXpQLi8G+UC4 1DWZu8EVT4rnYaCw1VX7ShOR1PNCCvjb8S8tfdudd9zhU3gEB0rxdeTy1tVbNLXW 99y90xcwr1ZIDUwM/xQ/noO8FRhm0LoPC73Ef+J4ZBdrvWwauF3zJe33d4ibxEcb 8/pz5WzFkeixYM2nsHhqHsBKw7JPouKNXRnl5IAE1eFmqDyC7G/VT7OF669xM6hb Ut5G21JE4cNK6NNucS+fzg1JPX0+3VhsYZjj7D5uljRvQXrJ8iHgr/M6j2oLHvTA I2MLdq2qjZFDOCXsxBxJpbmLGBx9ow6ZerlUxzws2AWv2pk= -----КОНЕЦ СЕРТИФИКАТА-----
Если я попытаюсь загрузить это с помощью openssl, я получу следующую ошибку:
$ openssl pkcs7 -inform pem -in chain. pem -text не удалось загрузить объект PKCS7 372716: ошибка: 0D0680A8: процедуры кодирования asn1: asn1_check_tlen: неверный тег:../openssl-1.1.1i/crypto/asn1/tasn_dec.c:1149: 372716: ошибка: 0D06C03A: процедуры кодирования asn1: asn1_d2i_ex_primitive: вложенная ошибка asn1:../openssl-1.1.1i/crypto/asn1/tasn_dec.c:713: 372716: ошибка: 0D08303A: процедуры кодирования asn1: asn1_template_noexp_d2i: вложенная ошибка asn1:../openssl-1.1.1i/crypto/asn1/tasn_dec.c:646:поле=тип, тип=PKCS7 372716: ошибка: 0906700D: Подпрограммы PEM: PEM_ASN1_read_bio: ASN1 lib:../openssl-1.1.1i/crypto/pem/pem_oth.c:33:
Я проверил ответы в этом https://stackoverflow.com/questions/45048858/pem-routinespem-read-biobad-end-line, но кажется, что верхние и нижние колонтитулы правильные — так что же не так с этим файлом сертификата ?
- сертификат
- openssl
Вы используете неправильную команду
Вы используете команду OpenSSL pkcs7
. PKCS 7 — это специальный формат для хранения данных. В PEM, PKCS 7 может обычно распознается через заголовок -----BEGIN PKCS7-----
. В Windows будет использоваться формат файла .p7b
.
Однако сертификаты, которые вы представляете, не в формате PKCS 7, это сертификаты x.509 в кодировке PEM. Таким образом, следующая команда напечатает правильную информацию:
openssl x509 -in chain.pem -text
Следует отметить, что эта команда напечатает только первый обнаруженный сертификат, а не оба.
0Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google Зарегистрироваться через Facebook Зарегистрируйтесь, используя электронную почту и парольОпубликовать как гость
Электронная почтаТребуется, но не отображается
Опубликовать как гость
Электронная почтаТребуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.