У меня есть файл rootcert, и я не знаю, находится ли он в формате .pem или нет, как я могу проверить, что он находится в формате .pem?Как проверить, есть ли файл сертификата, который у меня есть, в .pem формате
ответ
Сертификат формата .pem скорее всего будет ASCII-читаемым. Он будет иметь строку -----BEGIN CERTIFICATE-----
, за которой следуют base64-кодированные данные, а затем строка -----END CERTIFICATE-----
. Могут быть другие строки до или после.
DER vs. CRT vs. CER vs. PEM Certificates and How To Convert Them
Цитата со страницы поддержки:
View
====
Even though PEM encoded certificates are ASCII they are not human
readable. Here are some commands that will let you output the
contents of a certificate in human readable form;
View PEM encoded certificate
----------------------------
Use the command that has the extension of your certificate replacing
cert.xxx with the name of your certificate
openssl x509 -in cert.pem -text -noout
openssl x509 -in cert.cer -text -noout
openssl x509 -in cert.crt -text -noout
If you get the folowing error it means that you are trying to view a DER encoded certifciate and need to use the commands in the “View DER encoded certificate
below”
unable to load certificate
12626:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:647:Expecting: TRUSTED CERTIFICATE View DER encoded Certificate
View DER encoded Certificate
----------------------------
openssl x509 -in certificate.der -inform der -text -noout
If you get the following error it means that you are trying to view a PEM encoded certificate with a command meant for DER encoded certs. Use a command in the “View PEM encoded certificate above
unable to load certificate
13978:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1306:
13978:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:380:Type=X509
Я работал с файлом с расширением .cer, но файл находился в формате .der, и ваш ответ решает мою проблему. – dpineda
Как я могу проверить, если файл сертификата у меня есть в формате .pem
cat
файл и посмотреть для предварительно инкапсулированного заголовка и пост-инкапсулированного заголовка. Предварительно инкапсулированный заголовок равен -----BEGIN CERTIFICATE-----
или -----BEGIN X509 CERTIFICATE-----
; и заголовок с последующим инкапсулированием равен -----END CERTIFICATE-----
или -----END X509 CERTIFICATE-----
.
Инкапсулированные заголовки обсуждаются в RFC 1421. Нет стандартного списка или полного списка объектов в этих заголовках (например, CERTIFICATE
или X509 CERTIFICATE
). Большинство пользователей используют заголовок pem.h
OpenSSL для списка типов объектов.
Для OpenSSL, чтобы признать его в качестве формата PEM, она должна быть закодирована в Base64, со следующим заголовком:
-----BEGIN CERTIFICATE-----
и нижнего колонтитула:
-----END CERTIFICATE-----
Кроме того, каждая строка должна быть максимальной 79 символов. В противном случае вы получите сообщение об ошибке:
2675996:error:0906D064:PEM routines:PEM_read_bio:bad base64 decode:pem_lib.c:818:
Примечание: стандартный PEM (RFC1421) мандаты линии с длиной 64 символов.Сертификат ПОМ хранится в виде одной строки могут быть преобразованы с помощью утилиты UNIX командной строки
fold -w 64
Справочник CRL,CRT,CSR,NEW CSR,PRIVATE KEY, PUBLIC KEY Parser
CRL
-----BEGIN X509 CRL-----
-----END X509 CRL-----
ЭЛТ
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
КСО
-----BEGIN CERTIFICATE REQUEST-----
-----END CERTIFICATE REQUEST-----
NEW CSR
-----BEGIN NEW CERTIFICATE REQUEST-----
-----END NEW CERTIFICATE REQUEST-----
PEM
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
PKCS7
-----BEGIN PKCS7-----
-----END PKCS7-----
PRIVATE KEY
-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY-----
использование этого о ne для проверки https://8gwifi.org/PemParserFunctions.jsp – anish