.cerとpfxファイルの違いは何ですか[クローズ]


83

人々はよく言っていました-

cer-X.509標準形式で保存された証明書。この証明書には、証明書の所有者に関する情報と、公開鍵および秘密鍵が含まれています。

pfx-個人交換フォーマットを表します。これは、単一のファイルでパブリックオブジェクトとプライベートオブジェクトを交換するために使用されます。pfxファイルは.cerファイルから作成できます。ソフトウェア発行者証明書の作成にも使用できます。

**このリンクから参照を取得しましたcer、pvk、およびpfxファイルの違いは何ですか?****

しかし、いつCERTファイルを使用すべきか、いつPFXファイルを使用すべきかについては誰も言っていません。可能であれば、CERTファイルを使用するタイミングとPFXファイルを使用するタイミングについて話し合ってください。ありがとう。


また、[1][2][3]
Pacerier 2016年

回答:


102

.pfxには、関連する証明書の公開鍵と秘密鍵の両方が含まれます(これを組織外で共有しないでください)。WebサイトのTLS / SSL、メッセージまたは認証トークンのデジタル署名、またはパートナーシステムへの認証に使用できます。.cerファイルには公開鍵しかありません(これは通常、統合パートナーと交換するものです)。トークンまたはクライアント認証要求を検証するために使用でき、SSLハンドシェイクでサーバーからHTTPクライアントが受信するものです。


秘密鍵が保存されている証明書ファイルの場合?私はほとんどの場合、人々がwcfで証明書ファイルを使用しているのを見ました...なぜですか?なぜ彼らはpfxファイルを選ばないのですか?どれが最も安全ですか?
トーマス

人々がcertファイルを使用するときとpfxファイルを使用するとき...それが最も重要であるという1つの重要なポイントを見逃しました。ご回答ありがとうございます。
トーマス

証明書ファイルは、X.509証明書の総称です。Windowsの世界では、pfxはパスワードで保護されており、組織を離れることはありません。cerファイルは、X.509証明書から公開鍵としてエクスポートできます。メッセージの署名または認証にWCFクライアントからのX.509証明書を使用している場合は、pfxファイルをインストールする(またはフォルダーで利用できるようにする)必要があります。@Thomasで何が恋しかったですか?
PeterB 2014

1
plzzは私の2番目の質問に答えます。
トーマス

3
@トーマス繰り返してもらえますか?あなたの投稿には疑問符がないので、何が答えられていないのか見分けるのは難しいです。ところで、cerファイルには秘密鍵が含まれていません。;)
PeterB 2014

10

わずかに異なる動作をする2つのシナリオ:

シナリオ1:
SSLを使用してHTTPS経由でWebページ(サーバー)にアクセスするWebブラウザー(クライアント)。

サーバーには、両方のキーを含む.PFXファイルがあります。クライアントはサーバー上のWebサイトに接続し、サーバーはSSLハンドシェイクの一部として公開鍵(.CERファイル)のコピーをクライアントに送信します。次に、クライアントは「SESSION-Key」を生成し、サーバーから受信した公開鍵を使用して暗号化します。次に、セッションキーがサーバーに返送され、復号化されてその信頼性が確認されます。成功すると、クライアントとサーバーの両方が「セッションキー」を共有して、対称暗号化を使用して通信します(つまり、クライアントとサーバーの両方が、同じセッションキーを使用して相互にすべてのメッセージを暗号化および復号化します。これはすべてです。アドレスバーにURLを入力してから、Webページが表示されるまでの間に、Webブラウザのバックグラウンドでバックグラウンドで実行されます。

シナリオ2:
アプリケーション(クライアント)は SSHを使用してFTPサイト(サーバー)
または
リモートデスクトップ(クライアントからサーバー)に接続します
(両方の例が適用されます)

このシナリオでは、両方のクライアントとサーバーがします、自分の秘密鍵と公開鍵のペアを持っている
(他の例とは対照的に、サーバが両方のキーを持ち、クライアントは公開鍵のみを持っている場合にのみ説明することを、このスレッドで言及)

ここで、説明のために、次のようなキーペアにラベルを付けましょう
。A1A2 =それぞれサーバーの秘密鍵と公開鍵として
B1B2 =それぞれクライアントの秘密鍵と公開鍵として

このモデルを使用して、このスレッドの以前の投稿では、サーバーにA1A2.PFXファイル)があり、A2.CER)のコピーのみをクライアントと共有する場合について話していました。

FTPまたはSSH接続(他にも例があります)は、クライアントサーバー通信全体のA1A2B1、およびB2キーで構成されています。たとえば、
-クライアントはFTPサーバーに接続します。
-サーバーは、公開鍵(A2)のコピーをクライアントに送信します。
-クライアントは独自の公開鍵(B2)をサーバーに送り返し、ハンドシェイクを完了します。
-これは非対称暗号化を使用するようになります

サーバーにはA1、(独自のプライベート)、A2独自のパブリック)、およびB2クライアントのパブリックコピーがあります
クライアントにはB1、(独自のプライベート)、B2独自のパブリック)、およびA1のコピー(サーバーのパブリック)がありますパブリック

クライアントからサーバーへの通信:
クライアントはA2(サーバー公開鍵)を使用してサーバー宛てのメッセージを暗号化し、サーバーはA1(サーバー秘密鍵)を使用してメッセージを暗号化します

サーバー間通信:
サーバーはB2(クライアント公開鍵)を使用してクライアント宛てのメッセージを暗号化し、クライアントはB1(クライアント秘密鍵)を使用してメッセージを復号化します

.CERおよび.PFXファイルタイプに関して、サーバーには独自の.PFXがあり、組織外に配布するべきではありません。代わりに、.CERファイルをクライアントに配布する必要があります。

詳細については、https
//www.digicert.com/ssl-cryptography.htmをご覧ください。

そしてここ:https
//serverfault.com/questions/107433/why-does-a-ssh-public-key-sit-on-the-server-and-not-with-the-client


0

私の経験では(私が望むほど広大ではありません)、IISサーバーでhttpsバインディングを構成するときにpfxファイルを使用します(これには公開鍵と秘密鍵の両方が含まれているため、そのファイルだけで問題ありません)、 cerファイルは(ほとんどの場合)キーペアの公開部分にすぎず、nginxまたはapacheサーバーでsslトラフィックを構成するときに、.keyファイルと組み合わせて使用​​する必要があります。

私が理解している限り、どちらか一方を使用する難しい理由はもうありません。


0

すでに述べたように、cerファイルは単なる公開鍵ですが、pfxファイルには公開鍵と秘密鍵の両方が含まれているため、問題は少しリンゴとオレンジです。

したがって、より公平な質問は、pemファイルではなくpfxファイルをいつ使用するかということです。pfxファイルが過度に複雑であると批判されていることを考えると、2番目の質問に対する公正な答えは次のようになります。IISを実行している場合にのみpfxファイルを使用する必要があり、その構成では他のものを使用できません。 。

出典:https//en.wikipedia.org/wiki/PKCS_12 (参照脚注はPeter Gutmannの記事です。)


-2

SSLは非同期暗号化を使用します。つまり、一方のキー(秘密キー)はキーペアを「所有」するサーバーに与えられ、もう一方のキー(公開キー)は自由に配布されます。
秘密鍵で暗号化されたデータは公開鍵でのみ復号化できるのに対し、公開鍵で暗号化されたデータは秘密鍵でのみ復号化できるため、非同期と呼ばれます。したがって、所有者に安全に何かを送信したい場合は、所有者の秘密鍵で暗号化すると、所有者だけが復号化できます。所有者が何かを送信したことを証明したい場合は、秘密鍵で暗号化し、公開鍵を持っている人なら誰でも復号化できます。(証明書がインストールされると、これは通常、ブラウザーまたは電子メールツールによってバックグラウンドで実行されます。)
所有者はその秘密鍵を秘密にしておきたいので、パスワードで保護され、所有しているサーバーにのみ与えられます(多くの場合、PFXまたはP12ファイルで)。ただし、公開鍵は自由に配布されます(多くの場合、CERファイルで)。


「あなたは彼の秘密鍵でそれを暗号化します、そして彼はそれを解読することができる唯一の人になるでしょう。」つまり、彼の公開鍵で暗号化するということだと思います。
Dave Sims 2017

1
「非同期」ではなく「非対称」という意味だと思います。
ネイトバルベッティーニ2018年

あなたは部分的に正しいです-それは非対称暗号化と対称暗号化の両方を使用しています。SSLは、最初はクライアントとサーバー間で非対称暗号化を使用しますが、クライアントが信頼を確認して対称鍵を生成し、それをサーバーに送り返す(非対称暗号化を使用)までは、すべての実際のデータ通信が行われます。対称暗号化を使用します。
アーロンクラウス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.