2012-05-07 33 views
12

私はSSL証明書認証を使用しているWebサイトを持っています。 サーバーからウェブブラウザを強制的に使用して証明書を再度確認する方法を教えてください。 ログアウトには使用できますが、ここでのユースケースはユーザーIDの切り替えです。httpsクライアント証明書ログアウト/ relogin

私は現在の認証証明書と互換性のないssl設定を持つページにユーザーを誘導することについて覚えていますが、正しい設定を見つけることができませんでした。

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

更新: クライアント側の証明書を必要とするが、すべての証明書を拒否する同じホスト名にURLを設定する方法を具体的に尋ねています。

Firefoxの場合、javascript:window.crypto.logout();は、マイナーなユーザーの不便さ(私はスクリプト可能と思われる)で動作します。

+0

最も簡単な方法は、Webブラウザを再起動することです。 – Robert

答えて

6

これは一般的に難しいです(もちろん、ほとんどのユーザーにとってクライアント証明書の使用が退屈な理由の1つです)。

クライアント側からは、いくつかのJavaScriptテクニックがありますが、ボード全体でサポートされていません(this question参照)。

Apache Tomcat 7を使用すると、this questionで説明されているように、request属性を使用してSSL/TLSセッションを無効にできます。

私は、Apache Httpd(とmod_ssl)でこれを行うことができるようなフックは認識していません。 Apache Httpd(例えばmod_php、CGI、FCGI、...)の背後で使用可能なメカニズムは、セッションを無効にするために必要なmod_sslで設定された設定や環境変数を変更できなくなります。

IISでは、this questionにはまだ未回答です。

ブラウザの一般的なやり方は、ブラウザの設定に入り、SSLの状態をクリアすることです(これはブラウザによって異なりますが、通常はクイックボタンだけでなく、少なくとも2つのダイアログボックスが必要です)少なくともプラグインなしではありません)。

+0

Firefox用のプラグインはありますか? –

+0

私は[ClearSslCache](https://addons.mozilla.org/en-US/firefox/addon/clearsslcache)を見つけました。これは、すべての履歴/アクティブログインのクリアと同じように、より少ないクリックで新しいツールバーのボタンをクリックし、次に(スペイン語)「Are you sure?」ダイアログを確認します。 –

1

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

firefox(バージョン20以前)では、次の操作を実行できます。 ツール|プライベートブラウジングを開始します。

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

をクリックします。ページをリロードすると、新しいクライアント証明書を提示するように求められます(CAあなたのサーバーが信頼するもの)。 Othererwiseの場合、証明書が1つだけの場合、店舗にある唯一のPKIクライアント証明書が使用されます。ログアウトのために

0

は、この記事をお読みください。クライアント側でhttps://security.stackexchange.com/questions/36853/is-it-possible-to-force-a-new-ssl-session#

、SSLセッションは通常RAMに保持されています。例えばInternet Explorerは、内部的には互いに通信するいくつかのプロセスで構成されており、SSLセッションを忘れるようにすべてを終了させる必要があります(実際には、すべてのIEウィンドウを閉じた場合にのみ発生します)。

代替ブラウザはjavascriptで閉じることができます。

関連する問題