我想使用仅使用JavaScript的客户端证书在Web浏览器中签署包含敏感数据的XML文档(XMLDSig)。
我已经完成了我的研究并发现,在2014 - 2015年,无法使用客户端证书在JS中签署文档。当时有三种可能性:
现在有什么新的可能性吗?我们在2018年,我能够找到的绝大多数资源都是3-4岁。所以,如果有一个纯粹基于Javascript和一些行业标准的跨平台和跨浏览器解决方案,我真的很好奇。
答案 0 :(得分:0)
我们已经创建了a XMLDSIG api,您可以在浏览器中使用它来在浏览器中创建XMLDSIG签名。
要进行签名,您将需要数字证书,我们通常使用Browser Bound certificate进行签名。本质上,我们使用Web Crypto创建证书,然后对其进行签名。
如果您需要使用在浏览器之外创建的证书,我们创建了一个名为FortifyApp的软件包,使您可以在浏览器中使用本地注册的证书和智能卡以及证书和密钥。
或者,您可以将PKCS#12 file using PKIjs导入浏览器,然后对其进行签名。
上面不需要Java或ActiveX,如果需要转义浏览器,则只需Javascript和客户端。
答案 1 :(得分:0)
在2018年,对于现代浏览器,可能会使用浏览器扩展,该扩展访问运行在(本地)浏览器主机设备上的应用程序,以通过浏览器中的JavaScript访问证书存储。有关更多详细信息,请参阅this SO answer。