【问题标题】:Is there a way to detect if the certificate is invalid on the client side?有没有办法检测证书在客户端是否无效?
【发布时间】:2018-09-15 10:58:06
【问题描述】:

我是 Intranet 上网站的所有者,我想拒绝证书无效的用户,(例如,如果用户 X 没有在他的机器上安装专用证书,他将不被允许访问我的网站) :

如果证书在客户端无效,有没有办法检测(使用 javascript)?

【问题讨论】:

  • 也许发出 AJAX 请求?
  • 是的,但是在发出 AJAX 请求之前我如何知道证书是否无效?
  • 没有真正的方法可以做到这一点。我敢肯定,如果您搜索 stackoverflow,您会发现常见问题以及 iframe、xmlhttp 调用、websockets、图像等的答案。
  • 您所说的是简单的双向 TLS 身份验证。客户端使用他的客户端证书在服务器上进行身份验证。如果服务器接受它,那么客户端是合法的。

标签: javascript ssl ssl-certificate


【解决方案1】:

您尝试做的事情从根本上说是不正确的。证书从客户端请求到服务器,服务器发送它的公钥。然后在客户端创建会话密钥以设置 asymm 加密。

Web 服务器上的证书必须由受信任的 CA 签名(这也可以添加到客户端)。基本上客户端无法控制它使用哪个证书,服务器将确定。

【讨论】:

    猜你喜欢
    • 2021-09-03
    • 1970-01-01
    • 1970-01-01
    • 2020-12-17
    • 2019-10-25
    • 1970-01-01
    • 2017-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多