有没有办法手动控制浏览器的证书选择弹出窗口?
Is there a way to control browser's certificate selection popup manually?
我想手动控制证书弹出 windows。例如,如果用户想使用客户端证书登录,我会提示选择证书 window;如果他想用 username/password 登录。系统没有检查他的证书就让他进来了。
没有标准的 API(或我知道的非标准 API)可以用 JavaScript 或类似的东西来控制它。
我能想到的唯一解决方案是拥有两个网络服务器。
- 一个用于显示链接到登录表单或客户端证书的网页,并且此服务器还实现了登录表单。
- 要求用户指定客户端证书的一种。
您可以为两个服务器使用相同的通配符证书并将它们放在不同的子域中来解决这个问题,这样您实际上可以通过 2 个不同的服务器(IP 地址)支持此设置。
可以使用同一个实际物理服务器,根据IP进行"virtual host"调度,两者可以使用同一个通配符SSL证书。
您需要不同服务器的原因是在 SSL 握手级别触发了 SSL 客户端证书提示,因此您不能使用基于名称的虚拟主机,您需要 2 台实际服务器才能做到。
我想手动控制证书弹出 windows。例如,如果用户想使用客户端证书登录,我会提示选择证书 window;如果他想用 username/password 登录。系统没有检查他的证书就让他进来了。
没有标准的 API(或我知道的非标准 API)可以用 JavaScript 或类似的东西来控制它。
我能想到的唯一解决方案是拥有两个网络服务器。
- 一个用于显示链接到登录表单或客户端证书的网页,并且此服务器还实现了登录表单。
- 要求用户指定客户端证书的一种。
您可以为两个服务器使用相同的通配符证书并将它们放在不同的子域中来解决这个问题,这样您实际上可以通过 2 个不同的服务器(IP 地址)支持此设置。
可以使用同一个实际物理服务器,根据IP进行"virtual host"调度,两者可以使用同一个通配符SSL证书。
您需要不同服务器的原因是在 SSL 握手级别触发了 SSL 客户端证书提示,因此您不能使用基于名称的虚拟主机,您需要 2 台实际服务器才能做到。