gpt4 book ai didi

javascript - 如何使用浏览器中的证书私钥对文档进行签名(CAPICOM 替代方案)?

转载 作者:行者123 更新时间:2023-11-29 21:13:43 26 4
gpt4 key购买 nike

因此,在 Windows 7 之前,有一个 Microsoft ActiveX 组件:CAPICOM,可以从 Javascript 调用它,然后显示客户端机器上证书存储的内容。然后客户端可以选择适当的证书并使用证书的私钥签署一些文档。这就是在 Javascript 中访问证书存储的方式:

var MyStore = new ActiveXObject("CAPICOM.Store");
var oCertificates = new ActiveXObject("CAPICOM.Certificates");
// attempt to open the personal certificate store
MyStore.Open(CAPICOM_CURRENT_USER_STORE, "My", CAPICOM_STORE_OPEN_READ_ONLY);

现在除了使用 CAPICOM 之外还有什么选择?我希望客户端能够在 浏览器 中使用他的私钥对一些文本进行签名,然后将带有公钥的签名文本发送到服务器。还有可能吗?

也许我可以使用 Java 或 Silverlight 而不是纯 JavaScript? PKI.js 和类似的东西呢?

最佳答案

一般来说,由于缺乏对 Java 或 silverlight 的浏览器支持,目前是不可能的

Chrome 已放弃对 NPAPI 插件的支持。 Firefox 已宣布将在 2017 年停止使用,Edge 不支持。 Microsoft 已弃用 Silverlight,Oracle 也宣布弃用 Java 浏览器插件。只能使用旧版本的IE。

Javascript 加密库,例如 PKI.js , forge或内置 WebCryptographyApi可用于执行数字签名,但它们无权访问操作系统 keystore ,因此您无法访问已安装的证书

备选方案(不太令人鼓舞):

  • 使用 WebCryptographyApi 在浏览器中加载证书(不适用于智能卡)
  • 启动安装在您设备上的本地应用程序,并使用嵌入式 http 服务器或 chrome 消息传递 api 通过协议(protocol)调用
  • 耐心等待 Key Discovery Api 这将为 WebCrypto 提供对操作系统 keystore 的访问

关于javascript - 如何使用浏览器中的证书私钥对文档进行签名(CAPICOM 替代方案)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40497439/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com