web-dev-qa-db-ja.com

.pfx証明書と.cert証明書の違い

違いは何ですか .pfxおよび.cert証明書ファイル?

配布しますか.pfxまたは.certクライアント認証用?

130
Xsecure123

2つのオブジェクトがあります。秘密鍵は、サーバーが所有し、秘密を保持し、新しいSSL接続の受信に使用します。そして、秘密鍵に数学的にリンクされ、「公開」される公開鍵:接続の初期ステップの一部として、すべてのクライアントに送信されます。

certificate は、名目上、公開鍵のコンテナです。これには、公開鍵、サーバー名、サーバーに関する追加情報、および認証局(CA)によって計算された署名が含まれます。サーバーがクライアントに公開鍵を送信すると、実際には、いくつかの他の証明書(証明書に署名したCAの公開鍵を含む証明書、およびCAの証明書に署名したCAの証明書)とともに証明書を送信します。等々)。証明書は本質的にパブリックオブジェクトです。

一部の人々は、「証明書」という用語を使用して、証明書と秘密鍵の両方を指定します。これは一般的な混乱の原因です。個人的には、証明書が公開鍵の署名済みコンテナのみであるという厳密な定義に固執します。

.pfxファイルは PKCS#12アーカイブ です。オプションのパスワード保護付きのオブジェクトを多数含めることができるバッグです。ただし、通常、PKCS#12アーカイブには証明書が含まれています(おそらく、CA証明書のさまざまなセットが含まれています)and対応する秘密鍵。

一方、.cert(または.cerまたは.crt)ファイルには通常、単一の証明書が含まれ、ラップは行われません(秘密鍵なし、パスワード保護なし、証明書のみ)。

175
Thomas Pornin

私はこれが1年前のスレッドであることを知っていますが、前述のように、将来の読者のために、.pfxファイルは秘密キーを含むファイルであるため、配布しないでください。ここに記載されている方法で.pfxファイルから証明書(パブリック)を抽出して配布できます: https://stackoverflow.com/questions/403174/convert-pfx-to-cer

41
tavnab