SSL証明書をクライアント証明書の認証に使用できますか?


1

相互TLS認証設定が有効になっているサードパーティAPIに接続しようとしています。そのため、キーストア内にクライアント証明書をインストールし、TLSハンドシェイクプロセスで送信することになっています。

このプロセスでは、現在、クライアント側の証明書としてcommodoポジティブSSLを使用しています。TLS呼び出しを行うと、Evnthoughサーバーは証明書を要求していますが、クライアントは証明書を送信していません。SChannel Logをチェックすると、次のような警告が表示されます

リモートサーバーがTLSクライアント認証を要求しましたが、適切なクライアント証明書が見つかりませんでした。匿名接続が試行されます。このTLS接続要求は、サーバーのポリシー設定に応じて成功または失敗する場合があります。

私の疑問はこのようなものです、クライアント側認証の目的で正しいタイプのX509証明書を使用していますか?他の特定のタイプを使用する必要がありますか?現在の証明書が送信されないため。

回答:


2

場合によります。X.509v3証明書には通常、許可された使用法(EKU)のリストを含む「拡張キー使用法」拡張フィールドが付属しています。

  • 通常のWeb サーバー証明書には、「TLSサーバー認証」の使用法が含まれます(「TLS Webサーバー」と表示されることもありますが、実際にはWeb固有ではありません)。

  • クライアントとして機能するには、「TLSクライアント認証」を備えた証明書が必要です(Web固有のものは何もないにもかかわらず、「TLS Webクライアント」として表示されることがよくあります)。

通常の「Webサーバー」SSL証明書には両方の使用法が含まれることが非常に一般的です。たとえば、Let's EncryptおよびDigiCertによって発行された証明書を調べています。 。

ただし、他の一部のCA、特に民間組織のCAでは、ほとんどの証明書にどちらか一方の使用法がありますが、両方が使用されることはほとんどありません。

たとえば、OpenVPNは(他のプログラムのように「少なくとも TLSクライアント」ではなく)「TLSクライアントのみ」を厳密に必要とするため、スクリプトはサーバーのみの証明書とクライアントのみの証明書を発行しますが、混合証明書は発行しません。easy-rsa


そのため、証明書を調べて、必要なEKUが含まれていることを確認する必要があります。実際に仕事をするすべての証明書ツール-たとえばでは、証明書のプロパティのWindowsでダイアログが、意志のWebブラウザとして、「V3拡張機能」の下にこれを示すだろうopenssl x509certtoolcertutilなど、

独自の内部CAを実行している場合も覚えておく必要があります。中間CA証明書を使用する場合は、それに注意を払ってください。中間体は、EKU拡張子を持つ必要はありませんが、彼らは次の場合に行うことがあり、その中間で発行されたすべての証明書は、それによって制約されています。(商業的に証明書を取得する場合、心配する必要はありません。)


さらに、証明書にはいくつかの非常に一般的な制限を含む基本的な「キー使用法」フィールドがあります。たとえば、「デジタル署名」は、証明書がデータに署名できることを意味します 「鍵合意」は静的DH / ECDH用であるようです。「キー暗号化」は、静的RSAハンドシェイクを許可します。

公式のX.509v3ドキュメントは、次の場合に必要な使用法が非常にわかりにくいです。商用CAは通常、このフィールドを正しく取得します。ただし、プライベートCAについては、再確認する価値があります。


EKUは私のために両方のオプションを示している(サーバー認証(1.3.6.1.5.5.7.3.1)クライアント認証(1.3.6.1.5.5.7.3.2))のおかげで
Athul K Surendran

その後、証明書は良好なはずです。(ただし、念のため中間チェーンを確認してください。)問題はソフトウェアにある可能性があります。たとえば、証明書を間違った場所にインストールしたか、秘密鍵(.pfxファイル)をインストールしなかったのでしょうか。
-grawity

COmodo CAからの証明書を使用しています。私の場合は関係ないことを願っています
Athul k Surendran

CA名は関係ありません。それは私があなたに確認するよう求めているものではありません。
-grawity

OK。私が理解したのは、商用CA(Comodo)を使用しているので、チェーンをチェックすることは想定されていません。とにかく今すぐ確認します。または、何かが足りない場合は、詳細を説明してください
Athul k Surendran
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.