web-dev-qa-db-ja.com

持っている証明書ファイルが.pem形式かどうかを確認するにはどうすればよいですか

Rootcertファイルがあり、.pem形式であるかどうかわかりません。pem形式であることを確認するにはどうすればよいですか?

42
Kumar

.pem形式の証明書は、ほとんどの場合ASCIIで読み取り可能です。行は-----BEGIN CERTIFICATE-----の後にbase64でエンコードされたデータが続き、その後に-----END CERTIFICATE-----。前後に他の行がある場合があります。

37
Anomie

DER対CRT対CER対PEM証明書およびそれらの変換方法

サポートページから引用:

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
53
user2129888

参照 CRL、CRT、CSR、NEW CSR、PRIVATE KEY、PUBLIC KEY Parser

CRL

-----BEGIN X509 CRL-----
-----END X509 CRL-----

CRT

-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----

CSR

-----BEGIN CERTIFICATE REQUEST-----
-----END CERTIFICATE REQUEST-----

新しいCSR

-----BEGIN NEW CERTIFICATE REQUEST-----
-----END NEW CERTIFICATE REQUEST-----

PEM

-----BEGIN RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----

PKCS7

-----BEGIN PKCS7-----
-----END PKCS7-----

プライベートキー

-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY-----
13
anish

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文字の行が義務付けられています。 1行として保存されたPEM証明書は、UNIXコマンドラインユーティリティで変換できます。

fold -w 64
6
metatechbe

所有している証明書ファイルが.pem形式であるかどうかを確認するにはどうすればよいですか

catファイルで、事前にカプセル化されたヘッダーと事後カプセル化されたヘッダーを探します。事前にカプセル化されたヘッダーは、-----BEGIN CERTIFICATE-----または-----BEGIN X509 CERTIFICATE-----です。カプセル化後のヘッダーは-----END CERTIFICATE-----または-----END X509 CERTIFICATE-----です。

カプセル化されたヘッダーは RFC 1421 で説明されています。これらのヘッダーには、オブジェクトの標準リストや包括的なリストはありません(CERTIFICATEX509 CERTIFICATEなど)。ほとんどの人は、オブジェクトタイプのリストにOpenSSLのpem.hヘッダーを使用します。

0
jww