サーバー証明書の形式とOPENSSLの使用法

サーバーとサーバーのバージョンに応じて、異なる証明書形式を使用する必要がありますが、市場で主流のサーバーの場合、おそらく次の形式になっています。

X.509証明書の核心は、RFC 5280 に従ってエンコードまたはデジタル署名されたデジタル ドキュメントです。

コーディング

  • .DER、ファイルはバイナリ形式であり、秘密キーではなく証明書のみを保存します。.DER = DER 拡張子は、バイナリ DER でエンコードされた証明書に使用されます。これらのファイルは、CER または CRT 拡張機能をホストすることもあります。正しいステートメントは、「DER でエンコードされた証明書を持っています」であり、「DER 証明書を持っています」ではありません。また、DER 形式は証明書の単なるバイナリ形式であり、ASCII PEM 形式ではありません。ファイル拡張子が .der である場合もありますが、通常は .cer なので、DER .cer ファイルと PEM .cer ファイルの違いを見分ける唯一の方法は、テキスト エディタでファイルを開いて BEGIN/ を探すことです。 END ステートメント。すべての種類の証明書と秘密キーを DER 形式でエンコードできます。
  • .PEM は通常テキスト形式で、証明書と秘密キーを保存できます。.PEM = PEM 拡張子は、さまざまな種類の X.509v3 ファイルに使用され、証明機関によって発行される証明書の最も一般的な形式です。PEM 証明書には通常、.pem、.crt、.cer、.key などの拡張子が付いています。これらは、「----- BEGIN CERTIFICATE -----」および「----- END CERTIFICATE -----」ステートメントを含む Base64 でエンコードされた ASCII ファイルです。

サフィックスファイル

  •  CER: .crt の代替形式 (Microsoft 規約) Microsoft システム環境では、.crt を .cer (DER エンコードされた .cer または Base64 [PEM] エンコードされた .cer の両方) に変換できます。
  • .CRT はバイナリ形式またはテキスト形式であり、秘密キーは保存されません。.CRT = CRT 拡張子は証明書に使用されます。証明書はバイナリ DER または ASCII PEM としてエンコードできます。CER 拡張子と CRT 拡張子はほぼ同義です。Unix または Unix 類似のシステムで最も一般的です。
  • .PFX .P12 (バイナリ形式) には、証明書と秘密キーの両方が含まれており、通常はパスワードで保護されています。
  • .JKS (バイナリ形式) には、証明書と秘密キーの両方が含まれており、通常はパスワードで保護されています。

この形式はバイナリ ファイル コンテンツであり、Java および Windows サーバーに推奨されるエンコーディングです。

PEM

プライバシー強化メールは通常テキスト形式で、-----BEGIN...で始まり で-----END...終わります。中央のコンテンツは BASE64 でエンコードされています。この形式では証明書と秘密キーを保存できますが、証明書と秘密キーを区別するために、PEM 形式の秘密キーのサフィックスを .key に変更することもあります。詳細については、ファイルの内容を確認できます。

この形式は、Apache および Nginx サーバーで一般的に使用されます。

ブラウン管

証明書の略称は、PEM エンコード形式または DER エンコード形式の場合があります。表示方法については、最初の 2 つの形式を参照してください。

PFX

PKCS#12 の前身であるこの形式はバイナリ形式であり、証明書と秘密キーは PFX ファイル内に存在します。通常、Windows 上の IIS サーバーで使用されます。フォーマットされたファイルには通常、秘密キーのセキュリティを確保するためのパスワードが付いています。

JKS

Java Key Storage は、JAVA の独自形式であることが容易にわかります。JAVA と keytool 呼ばれるツールを使用して形式を変換できます。通常、Tomcat サーバーに使用されます。

ここで形式を変換できます:証明書形式の変換https://myssl.com/cert_convert.html

非対称暗号化

公開キーと秘密キーを含むキー ペア ファイルを生成します: openssl genrsa -out test.pem 2048

秘密キーを抽出します: openssl rsa -in test.pem -out test_pri.pem

公開キーを抽出します: openssl rsa -in test.pem -pubout -out test_pub.pem

秘密鍵を非暗号化にする

openssl rsa -in rsa_aes_private.key -passin pass:111111 -out rsa_private.key

暗号化用の秘密鍵

openssl rsa -in rsa_private.key -aes256 -passout pass:111111 -out rsa_aes_private.key

openssl のその他の使用方法: openssl を使用して証明書を生成する - American Code Engineer - Blog Park

おすすめ

転載: blog.csdn.net/HideInTime/article/details/123086137