访问网站后是否提示用户输入 TLS 客户端证书?

访问网站后是否提示用户输入 TLS 客户端证书?

有没有办法在用户已经(最近)访问过网站后重新请求客户端 TLS 证书 - 而无需清除历史记录?最好使用 nginx。

nginx 的工作方式ssl_verify_client optional_no_ca是,在第一次访问时选择无后,浏览器会记住这一点,并且不会再询问 - 事件当 TCP(以及 TLS)连接关闭时(可以强制使用没有保持活动,即使对于某些根也是如此)。

TLS 重新协商已在 TLS.1.3 中禁用,但 谈论SSL_verify_client_post_handshake——这能以某种方式被利用吗?

或者这是浏览器历史记录?(即网络服务器可能会做任何事情,而浏览器只会继续做出的选择)

解决方法确实有效但并不理想,因为用户不能直接单击链接:

  • 让用户重新启动浏览器(或者在使用 Firefox 的情况下:清除“活动登录”“清除最近历史记录”弹出窗口);
  • 对“无证书”站点和“有证书”站点使用不同的来源(即端口或域);

答案1

指令ssl_verify_client不能在配置的任何较低级别使用,而不是 server块,因此要使用不同的设置,您需要使用不同的server块,这也意味着不同的主机名和/或端口。所以你唯一真正的解决方案是,正如你所说的:

对“无证书”站点和“有证书”站点使用不同的来源(即端口或域);

相关内容