.pfx
と証明書ファイル?
クライアント認証用に.pfx
または.cert
を配布しますか?
コメント
- また [ 1 ] 、 [ 2 ] 、 [ 3 ]
回答
2つのオブジェクトがあります。サーバーが所有する秘密鍵です。 、秘密を保持し、新しいSSL接続を受信するために使用します。秘密鍵に数学的にリンクされて「公開」された公開鍵:接続の初期ステップの一部としてすべてのクライアントに送信されます。
証明書 は、名目上、公開鍵のコンテナです。これには、公開鍵、サーバー名、サーバーに関する追加情報、および認証局(CA)によって計算された署名が含まれます。サーバーが公開鍵をクライアントに送信すると、実際には、他のいくつかの証明書(証明書に署名したCAの公開鍵を含む証明書、およびCAに署名したCAの証明書)とともに証明書が送信されます。証明書など)。証明書は本質的に公開オブジェクトです。
「証明書」という用語を使用して証明書と秘密鍵の両方を指定する人もいます。これは一般的な混乱の原因です。私は個人的に固執しています。証明書が公開鍵のみの署名付きコンテナである厳密な定義。
.pfx
ファイルは PKCS#12アーカイブ:オプションのパスワード保護を使用して多数のオブジェクトを含めることができるバッグ。ただし、通常、PKCS#12アーカイブには証明書(場合によってはCA証明書のさまざまなセットを含む)が含まれますおよび対応する秘密鍵。
一方、.cert
(または.cer
または
)ファイルには通常、単一の証明書が含まれ、ラッピングはありません(秘密鍵なし、パスワード保護なし、証明書のみ)。
コメント
- クライアント認証を行う際、クライアントブラウザにSSLクライアント証明書をインストールする必要があります。これは.pfxファイルですか。それとも.certファイルですか?
- 証明書は公開データです。 誰もが持っています。ただし、クライアント認証とは、そのクライアントだけが実行できることをクライアントに実行させることです。したがって、クライアントは公開されていないものを知っている必要があり、それが秘密鍵です。'したがって、クライアントは証明書とともに秘密鍵を持っている必要があります。キーがクライアントブラウザから生成された場合、予想される設定は、証明書と一緒にキーをクライアントにインポートすることです。したがって、.pfxファイル。
- 証明書がインストールされているIISサーバーから.pfxファイルを取得しました。これは配布する必要がある.pfxファイルですか? CAは、サーバーにインストールされたキーを含む.certファイルを提供したため。
- @ Xsecure123 no;ここに' 2つのシナリオがあります-そしてThomasはクライアント認証のみに応答していました(各クライアントが'独自のプライベート証明書を持っている場合自分の身元を証明する)。 -'何か他のことをしているようです-' IISで自己署名証明書を使用しているようです。クライアントは'それを信頼していません。 -その場合、サーバーからクライアントに.cerファイルを提供する必要があります。 -クライアントはサーバーを信頼するために公開鍵のみを必要とするためです。 -秘密鍵も持っている場合は、サーバーになりすますか、サーバーのトラフィックを復号化できます。' '
- @ BrainSlugs83:プライベート証明書とはどういう意味ですか。トーマスは、証明書は公開データであると述べました。詳細を教えていただけますか?
回答
これは1年前のスレッドですが、将来の読者のために、前述のように、.pfxファイルは秘密鍵を含むファイルであるため、配布しません。 https://stackoverflow.com/questions/403174/convert-pfx-to-cer aの方法で、.pfxファイルから証明書(公開されている)を抽出して配布できます。 >
コメント
- pfxファイルをサーバーのどこに安全に保存する必要がありますか?明らかに、' PFXファイルを使用する別のアプリケーションは必要ありませんが、'私は'アプリケーションと一緒に保存したい。それをマシン証明書マネージャーにインポートしてプログラムでアクセスしますか?
- @Matt秘密鍵管理はそれ自体のトピック全体です。いくつかの関連する回答は、ここおよびここ(後者'はPFXファイルに厳密には関連していませんが、それでも斬新です)。 PFXファイル自体は'サーバーに保存する必要はありません(つまり、IIS7を使用している場合は' ' dはPFXをインポートします。そうでない場合は、' dはPFXから証明書&秘密鍵を抽出します
回答
内容.pfx証明書ファイルと.cert証明書ファイルの違いは何ですか?
@ThomasPorninの回答はかなり良いです。
クライアント認証用に.pfxまたは.certを配布しますか?
使用するプロセスによって異なります。
証明書を使用して認証するように外部クライアントを設定する一般的なプロセスは次のとおりです。1)クライアントが非対称鍵ペア(公開鍵と秘密鍵)を生成します。 2)クライアントは公開鍵の証明書署名要求を生成し、これをサーバーに送信します。 3)サーバーは公開鍵に署名し、この署名("証明書")をクライアントに返します。 4)クライアントは、秘密鍵をこの証明書と一緒にキーストアに格納します。これで、クライアントがサーバーに接続すると、証明書が提示され、クライアントが認証されます。
上記のシナリオでは、"。cert"はクライアントに返送されます。
内部的には、多くの組織が従業員のためにこのプロセスを実行します。この状況では、次のことが発生します。ITスタッフは、証明書署名要求とともに、従業員の公開鍵と秘密鍵のペアを生成します。次に、(秘密認証局を使用して)公開鍵に署名し、結果の証明書を、対応する秘密鍵およびすべての中間CA証明書("証明書チェーン")、ユーザーのキーストア内。
このシナリオでは、" .pfx "(または"。pem")は、クライアント認証に必要なすべてのアイテム(プライベート)を含むため、適切です。キー、証明書、および証明書チェーン。
"証明書の自動登録"で方法を検索します。エンタープライズユーザーとデバイスのこのプロセスを自動化するため。