将在部署规则集允许JNLP为了不签署罐运行?(Will Deployment Rule Sets A

2019-10-21 06:36发布

当我运行我的JNLP它不断与失败“com.sun.deploy.net.JARSigningException:HTTP:在资源发现的无符号的条目// ......”

我的JNLP是由一类实时生成并最终在顶部看起来像这样:

<jnlp spec="1.0+" codebase="http://myhost.com:8080/webstart" href="jnlp?app=com.mycompany.LaunchWebstart">

我创建了一个非常广阔的ruleset.xml

<ruleset version="1.0+">
  <rule>
    <id />
    <action permission="run" />
  </rule>
</ruleset>

它添加到一个罐子

jar -cf DeploymentRuleSet.jar ruleset.xml

与我公司签署的密钥存储它

jarsigner DeploymentRuleSet.jar <alias> -keystore <path-to-keystore> -sigfile filesig -storetype <store-type>

然后复制到

%SYSTEMROOT%\Sun\Java\Deployment

根据该文件 ,我应该能够在没有我的签字坛子所以为什么我收到此错误运行?

permission - Action taken. The following values are valid:

run - The following types of RIAs are allowed to run without prompts:
    Signed with a valid certificate from a trusted certificate authority
    Signed with an expired certificate
    Self-signed
    Unsigned
    Missing required JAR file manifest attributes

有〜250(!),所以我宁愿不签他们所有的时间,因为它大大减慢我的构建过程。

使用JRE版本1.7.0_71-b14的。

Answer 1:

您需要导入下JAVA>安全>证书>签署者CA证书



Answer 2:

将在部署规则集允许JNLP为了不签署罐运行?

我从来没有听说过的“部署规则集”,但如果有什么让未签名的JAR运行(短用户手动调整在控制台的安全级别的),这将是一个安全漏洞。



Answer 3:

看来你是规则集是无效的。 您可以通过打开Java控制面板检查并在安全选项卡上单击“查看活动的部署规则集”。

离开了ID不允许权限运行。 据甲骨文公司在部署规则的文件集 :“为了确保所有的RIA由规则集来处理,你可以提供一个不是由先前的规则匹配任何RIA匹配的最终规定这一规则的行动必须是块。或默认“。

为了让未签名的应用程序,你应该列出它的位置。 你也应该改变JNLP文件的href属性包含相同的位置。 我已经试过这为我们的应用程序,但我很遗憾仍然得到错误“发现资源未签名的项...”。 据对回复这个bug报告,它应该工作虽然...



文章来源: Will Deployment Rule Sets Allow JNLP To Run Without Signing Jars?