部署规则集和Java 7u51

时间:2014-01-23 20:15:14

标签: java

我正在尝试按照此处所述创建部署规则集:link

我创建了一个简单的规则,允许来自localhost的所有内容,如

<rule>
    <id location="http://localhost" />
    <action permission="run" />
</rule>

当我尝试从localhost运行自签名应用程序(jnlp)时,我自行签名jar文件并在Windows中部署它后,它仍然被阻止。

部署规则集阻止了应用程序。 无法验证自签名的部署规则集jar

问:有谁能告诉我为什么不工作?我是否必须使用经过验证的证书对部署jar进行签名?我尝试使用部署规则来避免我的应用程序阻塞。我不想降低安全性或将我的网站添加到可信列表中。

2 个答案:

答案 0 :(得分:1)

看起来规则集jar必须使用经过验证的证书进行签名:

  

ruleset.xml文件中定义的规则集必须打包在名为DeploymentRuleSet.jar的签名JAR文件中。必须使用来自受信任证书颁发机构的有效证书对JAR文件进行签名。

(来自http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/deployment_rules.html#package

本文似乎提供了另一种选择,它涉及在所有目标计算机上导入自签名证书:

https://blogs.oracle.com/java-platform-group/entry/self_signed_certificates_for_a

HTH

答案 1 :(得分:0)

我刚刚经历过这个过程而且我成功了。我跟着this blog post制作了自己的规则集,它就像一个魅力。但只有一个技巧是签署jar的命令必须用证书密码替换NA,否则你必须省略storepass参数,这样它就会以交互方式询问密码。

我认为你应该检查:

  • 您已将证书导入为签名CA,因此可以验证jar签名(请参阅博客文章)。
  • 您的规则集严格遵循the specification。我不得不删除我在规则集中添加的一些注释,因为它失败了。
  • 从位置
  • 删除http://