我的用户在他们的网络浏览器中安装了一些证书(私钥)。浏览器使用这些证书在某些第三方网站上对用户进行身份验证。
当用户使用/访问我的网站时,我想使用其中一个私钥签署一些字符串。是否有任何 JavaScript API 或函数可以做到这一点?
最佳答案
简短的回答,您不能使用 JavaScript 和来自最终用户的客户端证书对通过 Web 浏览器传送的字符串进行签名。
在您的情况下,用户证书和 key 用于 TLS 客户端身份验证:
- 在 TLS 握手期间,服务器将请求浏览器出示 TLS 客户端证书。
- 浏览器将选择合适的客户端证书并建立 TLS 连接。
- 完成后,服务器将传送内容:HTML、JS、图像...
- 浏览器将呈现包含所有元素的页面。
浏览器有一个 API 来访问客户端证书和 key ,但这不会暴露给 Java 脚本引擎。
关于javascript - 使用浏览器的证书(私钥)在javascript中签署一些字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36777924/