首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >镀铬数字证书

镀铬数字证书
EN

Stack Overflow用户
提问于 2017-11-17 15:19:31
回答 1查看 640关注 0票数 1

我在我的一个web应用程序中有以下情况。用户通常使用的浏览器是Chrome。

我使用用户将加密卡插入到读卡器中的数字证书。

要登录到应用程序,用户基本上可以访问使证书数据读取的https链接。

到目前为止一切都很好。

如果要结束应用程序会话的用户关闭浏览器,则没有问题。一切都结束了。

但是,如果用户想离开他的应用程序会话,而不关闭所有浏览器窗口,下面是我的问题。

有一个按钮关闭应用程序的会话,用户离开并重定向到初始登录屏幕。似乎一切都被重置了,因为用户已经离开了。但是,当新用户想要登录并按下链接读取证书数据时,不要对新卡进行新的读取,而是使用上一张卡中的数据,而不只是要求别针访问它。

这个问题更进一步,例如,如果用户忘记了卡、卡并试图登录,则无法读取证书。但是现在,尽管插入正确,但在重新启动浏览器之前,将不会再次读取该卡,该浏览器维护一个没有证书的缓存。

目前只有关闭所有Chrome窗口才能找到解决方案,但这取决于用户是否这样做。

一个部分解决方案肯定会用javascript ()关闭浏览器,但是有一段时间,它不能用javascript (window.close ())关闭,这是一个不能从站点本身打开的窗口,我认为它被排除在外。

有人能为我做贡献吗?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-17 15:58:48

Chrome和其他浏览器维护所执行的SSL身份验证的缓存,并决定何时提示用户选择证书。由于TLS恢复协议,没有“注销”功能,也不能从服务器端关闭连接(客户端可以恢复会话)

在使用客户端证书定义身份验证系统时,这是一个常见的已知问题。我只找到了一个解决办法:使用不同的域强制浏览器选择证书

代码语言:javascript
复制
login.domain.com
   -->login1.domain.com
   -->login2.domain.com

   -->loginN.domain.com

您有一个虚拟身份验证URL login.domain.com,它在每次需要身份验证时都将用户的浏览器重定向到随机的loginN.domain.com。Chrome将检测到它是一个不同的域,并提示用户选择证书。

您还可以考虑使用不同的端口而不是不同的DNS,但是用户的防火墙可能会出现问题,因为您没有使用标准端口,而且在这种情况下Firefox也不会显示窗口。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47353913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档