javascript - 使用浏览器的证书(私钥)在javascript中签署一些字符串

标签 javascript ssl certificate client-certificates

我的用户在他们的网络浏览器中安装了一些证书(私钥)。浏览器使用这些证书在某些第三方网站上对用户进行身份验证。

当用户使用/访问我的网站时,我想使用其中一个私钥签署一些字符串。是否有任何 JavaScript API 或函数可以做到这一点?

最佳答案

简短的回答,您不能使用 JavaScript 和来自最终用户的客户端证书对通过 Web 浏览器传送的字符串进行签名。

在您的情况下,用户证书和 key 用于 TLS 客户端身份验证:

  • 在 TLS 握手期间,服务器将请求浏览器出示 TLS 客户端证书。
  • 浏览器将选择合适的客户端证书并建立 TLS 连接。
  • 完成后,服务器将传送内容:HTML、JS、图像...
  • 浏览器将呈现包含所有元素的页面。

浏览器有一个 API 来访问客户端证书和 key ,但这不会暴露给 Java 脚本引擎。

关于javascript - 使用浏览器的证书(私钥)在javascript中签署一些字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36777924/

相关文章:

javascript - 来自 Ajax 源的 Twitter Typeahead/Bloodhound 建议 : how manage multiple values?

javascript - 使用 mongoose 返回特定字段

javascript - HTML 5 模式深层链接和刷新不起作用 AngularJS

javascript - 用于通知的动画图标

javascript - 在 Openshift 上使用 https 创建 Express JS 4.0 应用程序,包括 http 重定向

encryption - openssl ssl 加密

ssl - 安装证书后 httpd 不启动

ios - 如果我的分发证书过期会怎样?

iphone - 无法在钥匙串(keychain)中安装 iPhone 开发者证书

java - 丢失 JRE 7 安全警报和警告