我已经使用SSL证书认证的网站。 如何强制从服务器再问证书的Web浏览器中使用? 这将是可用的注销,但这里的使用情况下切换用户身份。
我还记得一些关于将用户引导到具有SSL设置与当前的认证证书不兼容的页面时,却找不到正确的设置。
我的设置使用Apache MOD-SSL,但一个IIS的解决方案也将受到欢迎。
更新:我特别要求服务器端:如何设置上需要客户端证书,但拒绝所有证书相同的主机名的URL。
对于Firefox, javascript:window.crypto.logout();
并有轻微的用户不便(我认为可围绕脚本)工作。
这是相当困难的,一般(和的原因,客户端证书的使用可以为大多数用户繁琐的当然是一个)。
从客户端,也有一些JavaScript技术,但它们都不能一刀切支持(见这个问题 )。
使用Apache Tomcat 7,你可以在描述使用无效的请求属性的SSL / TLS会话, 这一问题 。
我不知道,它可以让你使用Apache的httpd(和做任何钩子mod_ssl
)。 背后apache httpd的可用的机制(如mod_php
,CGI,FCGI,...)通常没有得到能够改变由设置任何设置或环境变量mod_ssl
,这将是必要的无效会话。
在IIS上, 这个问题仍未得到解决。
比较通用的做法,从浏览器的一点,就是要进入它的设置和清除SSL状态(这取决于浏览器,但通常需要几个对话框至少,不只是一个快捷按钮,至少不无插件)。
通过转至工具> Internet选项>内容(标签)>清除SSL状态您清除SSL状态:从客户端的网页浏览器,你可以为MSIE(Internet Explorer)中做到这一点。
在Firefox(之前的20版),你可以这样做:工具| 进入隐私浏览模式。
然后访问该页面的问题。 或然后执行“工具|停止私人浏览”,然后...
然后,当你重新加载你在这一个页面会提示你提出一个新的客户端证书(如果你有一个以上的来自CA,你的服务器信任)。 Othererwise如果你只是有一个证书,它将使用一个且只有一个PKI客户端证书是在您的商店。
对于注销阅读这篇文章: https://security.stackexchange.com/questions/36853/is-it-possible-to-force-a-new-ssl-session#
在客户端,SSL会话通常保存在RAM中。 IE浏览器,例如,内部由若干个过程,互相交谈,而你必须杀死他们,使其忘记SSL会话(实际上,这只是发生在你已经关闭了所有的IE窗口)。
另一种可能是用JavaScript关闭浏览器。