私は2つのDebianサーバーの保守を担当しています。セキュリティ証明書で何かをする必要があるときはいつでも、私はチュートリアルのためにグーグルして、それが最終的に機能するまで打ちのめします。
ただし、私の検索では、さまざまなファイル形式(.key
、.csr
、.pem
)しかし、私は各ファイル形式の目的が何であるかについての良い説明を見つけることができませんでした。
ここServerFaultの優れたスタッフがこの問題について説明を提供できるかどうか疑問に思っていましたか?
SSLは十分に長い間使用されてきたので、コンテナー形式については合意が得られると考えられます。そして、あなたは正しいです。規格が多すぎます。これは私が知っていることであり、他の人がチャイムを鳴らすと確信しています。
/etc/ssl/certs
など)、または公開鍵、秘密鍵、ルート証明書を含む証明書チェーン全体を含めることができます。紛らわしいことに、PKCS10形式はPEMに変換できるため、CSRをエンコードすることもあります(たとえば、使用 ここ )。名前は Privacy Enhanced Mail(PEM) に由来します。これは、安全な電子メールの失敗した方法ですが、それが使用したコンテナー形式が存続し、x509 ASN.1キーのbase64変換です。/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スタイルの証明書とは異なり、この形式にはが定義されています証明書パス証明書を含める方法。要約すると、証明書とそのコンポーネントを提示する方法は4つあります。
これがお役に立てば幸いです。
PEM自体は証明書ではなく、単なるデータのエンコード方法です。 X.509証明書は、一般的にPEMを使用してエンコードされるデータの一種です。
PEMはX.509証明書であり(その構造はASN.1を使用して定義されます)、ASN.1 DER(識別符号化規則)を使用して符号化され、次にBase64符号化を実行し、プレーンテキストのアンカー行の間でスタックします(BEGIN CERTIFICATEとEND CERTIFICATE )。
PKCS#7またはPKCS#12表現を使用して同じデータを表すことができ、opensslコマンドラインユーティリティを使用してこれを行うことができます。
PEMの明らかな利点は、アンカー行があり、7ビットのクリーンであるため、電子メールメッセージの本文に貼り付けても安全であることです。
RFC1422 は、PEM標準が鍵と証明書に関連しているため、PEM標準に関する詳細が記載されています。
時には.crt
ファイルはすでに.pem
。参照: https://stackoverflow.com/questions/991758/openssl-pem-key