17

SSL 証明書認証を使用する Web サイトがあります。サーバーからの Web ブラウザに、使用する証明書を再度要求させるにはどうすればよいですか? ログアウトに使用できますが、ここでの使用例はユーザー ID の切り替えです。

現在の認証証明書と互換性のない SSL 設定を持つページにユーザーを誘導したことを覚えていますが、適切な設定が見つかりませんでした。

私のセットアップでは apache mod-ssl を使用していますが、IIS ソリューションも歓迎します。

更新: サーバー側に特に質問しています: クライアント証明書を必要とするがすべての証明書を拒否する同じホスト名に URL を設定する方法。

Firefox の場合、javascript:window.crypto.logout();ユーザーには多少の不便がありますが動作します (これはスクリプトで回避できると思います)。

4

3 に答える 3

9

これは一般的にかなり難しいことです (そして、ほとんどのユーザーにとってクライアント証明書の使用が面倒な理由の 1 つであることは確かです)。

クライアント側からは、いくつかの JavaScript 手法がありますが、それらは全面的にサポートされていません (この質問を参照してください)。

この質問で説明されているように、Apache Tomcat 7 を使用すると、要求属性を使用して SSL/TLS セッションを無効にすることができます。

Apache Httpd (およびmod_ssl) でこれを行うためのフックについては知りません。Apache Httpd の背後で使用可能なメカニズム (例: mod_phpCGI、FCGI など) は、通常mod_ssl、セッションを無効にするために必要な、 によって設定された設定や環境変数を変更することはできません。

IIS では、この質問はまだ答えられていません。

ブラウザーの観点から見た一般的な方法は、その設定に移動して SSL 状態をクリアすることです (これはブラウザーによって異なりますが、通常、クイック ボタンだけでなく、少なくともいくつかのダイアログ ボックスが必要です。プラグインなし)。

于 2012-05-07T18:53:55.003 に答える
1

ログアウトについては、この投稿をお読みください: https://security.stackexchange.com/questions/36853/is-it-possible-to-force-a-new-ssl-session#

クライアント側では、SSL セッションは通常 RAM に保持されます。たとえば、Internet Explorer は内部的に相互に対話するいくつかのプロセスで構成されており、SSL セッションを忘れさせるにはそれらをすべて強制終了する必要があります (実際には、これはすべての IE ウィンドウを閉じた場合にのみ発生します)。

別の方法として、javascript を使用してブラウザーを閉じることもできます。

于 2015-10-07T17:23:36.730 に答える
1

クライアント側の Web ブラウザーから、MSIE (Internet Explorer) に対してこれを行うことができます。[ツール] > [インターネット オプション] > [コンテンツ] (タブ) > [SSL 状態のクリア] に移動して、SSL 状態をクリアします。

Firefox (バージョン 20 より前) では、次のことができます。プライベート ブラウジングを開始します。

次に、問題のページにアクセスします。または、「ツール | プライベート ブラウジングを停止する」を実行してから...

次に、表示中のページをリロードすると、新しいクライアント証明書を提示するように求められます (サーバーが信頼する CA からの証明書が複数ある場合)。それ以外の場合、証明書が 1 つしかない場合は、ストアにある唯一の PKI クライアント証明書が使用されます。

于 2014-06-04T14:45:06.727 に答える