除了 mTLS 握手之外,还有浏览器和客户端证书/密钥交互吗?

我知道,如果出现 mTLS 请求,现代浏览器将要求用户从商店(基于操作系统或在 Firefox 的情况下基于 NSS)中选择证书。我想知道 mTLS 握手后返回的网页是否还有其他方法可以请求使用用户证书或私钥执行操作,例如:

  • 网页能否识别所选证书并使用 Javascript API 读取某些字段? (即:<h1> Hello {x509CommonName}</h1>
  • 网页可以请求用户使用他们的私钥签名吗? (风险不大但可能有用)

不是问仅使用 Web 服务器将证书反映回客户端有多容易。

wei77316 回答:除了 mTLS 握手之外,还有浏览器和客户端证书/密钥交互吗?

从客户端,无法获取 SSL 连接中使用的证书,也无法执行数字签名。浏览器密钥库无法通过 JavaScript 访问。尽管曾有人尝试开发标准 API,但似乎并没有成功。见https://www.w3.org/TR/webcrypto-key-discovery/

在服务器端,您可以轻松获取所使用的证书。任何 Web 服务器都会将其提供给应用程序层。网页可以通过 ssl 两种身份验证导航到一个区域,服务器将检索证书并在响应中返回它

本文链接:https://www.f2er.com/9098.html

大家都在问