epp*_*uig 8 npapi digital-signature pkcs#11
我们编写了一个文档管理系统,并希望使用Web客户端对文档进行数字签名.我们的Java客户端应用程序已经能够应用和检查数字签名,但我们希望甚至可以使用我们的Web客户端进行签名.这是用GWT编写的,因此,当在客户端运行时,它是一个JavaScript应用程序.
我们不想创建Java applet并将其下载到客户端并执行它.我们希望使用浏览器安全设备或浏览器API来签署文档.我们还希望保留完整的文档服务器端,并仅向客户端移动文档哈希.
我们认为这应该可以使用NSS 或npapi/npruntime,但我们没有找到任何关于此的信息.(顺便说一句,在IE中也可以使用npruntime吗?我们应该使用ActiveX来实现与IE相同的结果吗?)
你有什么提示吗?
经过一番谷歌搜索后,我找到了答案.Mozilla通过window.crypto对象导出其NSS模块的一部分.进行此类操作的更标准方法可能是通过DOMCrypt,目前在W3C中进行了讨论.谷歌Chrome开发人员将等待W3C标准化DOMCrypt,而微软要求使用ActiveX对象,如此处所述(这甚至适用于Windows上的Firefox/Chrome/Opera).
目前(2016 年 5 月)这是不可能的。
Chrome 已放弃对 Java 的支持。“Windows Edge”不会有。IE11 支持很差,Oracle 决定停止使用 java 插件。只有 Firefox、旧版本的 IE 和 Java 插件才可以实现。
新的WebCryptographyApi标准为浏览器提供了数字签名支持,但没有pcks#11支持
真正的电子政务解决方案可以解决这个问题: 1) 在用户的 PC 上安装本地 Java 应用程序。应用程序侦听端口,例如 5678 2) 在您的页面中,javascript 检测是否支持小程序 3) 如果不支持,则以http://127.0.01:5678/的形式连接到应用程序签名并发送数据进行签名。4) 应用程序是本地的,使用操作系统密钥库没有问题,其中包括驱动程序 PKCS #11。进行数字签名并准备结果 5) 页面 javascript 定期查询结果并在准备好时检索结果
| 归档时间: |
|
| 查看次数: |
23701 次 |
| 最近记录: |