数字签名的 Java 插件替代品

标签 java web browser plugins digital-signature

我们有一个自定义 Java 小程序,可以执行某些任务,例如从本地文件系统加载 PDF、使用系统 KeyStore/智能卡中的证书对其进行签名等。此类操作在常规 HTML/JavaScript 中是不可能的。现在,Java 已在浏览器中被弃用,我们正在寻找替换小程序功能的可能性。

有这个Web Cryptography API ,但不幸的是该规范并未涵盖使用系统 keystore 。还有另一个规范,WebCrypto Key Discovery ,但我认为目前任何浏览器都不支持它。

Mozilla 有一个 API这可能正是我们所需要的,但不幸的是它现在已被弃用。

所以看起来我们唯一的选择是:

  • 编写自定义桌面 GUI 应用
  • 编写自定义浏览器插件

或者有更好的解决方案吗?你有什么建议?我不在乎该解决方案是否仅适用于 Internet Explorer,因为我们的大多数用户都使用 Internet Explorer。

最佳答案

由于 Java 对浏览器的限制,通常不可能使用操作系统 native key 存储。旧版本的 IE 和 Firefox 中仍然可以使用 Java,但 Oracle 已宣布将停止浏览器的 JRE 插件,而 Firefox 也决定在 2017 年放弃对 java 的支持,因此不建议使用

编写浏览器插件是不可能的,因为浏览器不允许访问多个操作系统功能。特别是 Chrome 插件 API 只允许访问 Chrome 操作系统中的用户证书,而不允许访问 Windows 或 Linux 中的用户证书。对于Edge,我认为插件接口(interface)还没有可用。

还有一些替代方案

我个人测试了第一个和最后一个选项。对于爱沙尼亚的解决方案,我建议与团队联系。我认为目前仅支持部分智能卡

关于数字签名的 Java 插件替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41099594/

相关文章:

java - : Address already in use: JVM_Bind

java - 如何将 KML 发送到本地运行的 Google-Earth?

php - $this->config->get ('something' ) 在 opencart 中

java - 设置URL后如何从SWT中的浏览器获取HTML

javascript - 服务器响应后处理 oncopy 事件

java - 与对象作斗争,程序无法按预期工作(java)

java - 使用正则表达式在字符串中的特殊字符串中查找特殊字符串

python - for循环执行

php - 图像无法正常显示

android - Android 是否支持 window.location.replace 或任何等效物?