【问题标题】:How do I sign my Applet correctly to access the computer's COM Port?如何正确签署 Applet 以访问计算机的 COM 端口?
【发布时间】:2014-02-18 00:23:12
【问题描述】:

我正在使用库 JSSC 读取 COM 端口设备数据的 Applet 进行自我签名,但这还不足以让 Applet 访问该资源,并且当我尝试列出可用的 COM 端口时会引发异常,我我正在测试我的 https 网址。

首先我得到“运行此应用程序可能存在安全风险”,然后它询问我是否要阻止不安全的内容(混合安全),我单击“否”但 JSSC 库仍然无法工作。

我不知道还能尝试什么,非常感谢任何建议。

【问题讨论】:

  • 嗯,我会很惊讶小程序安全上下文允许您访问原始计算机设备以开始...
  • 在 Jssc 网站上有一个小程序终端 deem 演示,它工作正常,我下载了源代码,如果我使用他们编译的 .jar 它在我的 Web 服务器上很好,如果我自己编译并签名我自己是行不通的。

标签: java security applet digital-signature jssc


【解决方案1】:

你的意思是applet吗?

你用的是什么java版本?

您是否使用 jnlp 文件(例如 this 一个)?

在最新的 Java 更新 7u51 (1.7.0_51) 中,默认情况下您无法再运行自签名小程序。那你能做什么呢?

  1. 使用官方证书或
  2. 将系统属性\Java\Security 中的安全级别降低到中等或
  3. 将您的页面添加到例外站点列表中

这里是最新 Java 版本中 changed 的概述。对您来说尤其重要的是权限清单属性(因为它没有在 jssc.jar 或 jSSC-Terminal.jar 文件中设置)

关于具有混合安全性的消息,您是否只签署了您的 applet.jar 而没有签署第 3 方库(如 jssc.jar)?

【讨论】:

    【解决方案2】:

    这就是我解决问题的方法:

    1. 已下载 Eclise。
    2. 安装了这个插件:http://keytool.sourceforge.net
    3. 使用插件生成我自己的证书。
    4. 回到我的项目所在的 Netbeans。
    5. 提出了我的项目属性。
    6. 在“应用程序”->“Web Start”下,我选中了“Enable We Start”。
    7. 在“签名”中,我点击了“自定义”。
    8. 选中“按指定键签名”
    9. 点击“浏览”,搜索在Eclipse上生成的证书。
    10. 输入了我在 Eclipse 上分配的证书密码和别名(任意)。
    11. 将“混合代码”保留为“启用软件保护”。
    12. 将机器降级到 Java 6 (http://www.oldapps.com/java.php)。
    13. 在 Netbeans 上构建项目,它会自动签署我的 jar 和 JSSC.jar。
    14. 打开 Java 设置并在“高级”下选中“禁用验证”。
    15. 部署项目并启动小程序页面,Java 显示安全警告,我选中始终信任发布者复选框,小程序现在 100% 运行,没有任何额外提示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-13
      • 1970-01-01
      • 2020-06-25
      • 1970-01-01
      • 2012-03-02
      • 1970-01-01
      相关资源
      最近更新 更多