部署规则集是否允许 JNLP 在不签署 Jars 的情况下运行? [英] Will Deployment Rule Sets Allow JNLP To Run Without Signing Jars?
问题描述
当我运行 JNLP 时,它一直失败并显示com.sun.deploy.net.JARSigningException:在资源中找到未签名的条目:http://......"
When I run my JNLP it keeps failing with "com.sun.deploy.net.JARSigningException: Found unsigned entry in resource: http://......"
我的 JNLP 是由一个类动态生成的,最终在顶部看起来像这样:
My JNLP is generated on the fly by a class and ends up looking like this at the top:
<jnlp spec="1.0+" codebase="http://myhost.com:8080/webstart" href="jnlp?app=com.mycompany.LaunchWebstart">
我创建了一个非常广泛的 ruleset.xml
I created a very broad 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
根据文档 我应该能够在不签署 jar 的情况下运行,为什么我会收到此错误?
According to the docs I should be able to run without signing my jars so why am I getting this error?
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(!) 个,所以我不想一直签署它们,因为它会大大减慢我的构建过程.
There are ~250(!) so I'd rather not be signing them all the time as it slows down my build process considerably.
使用 JRE 版本 1.7.0_71-b14.
Using JRE version 1.7.0_71-b14.
推荐答案
需要在JAVA > Security > Certificates > Signer CA下导入证书
You need to import the certificate under JAVA > Security > Certificates > Signer CA
这篇关于部署规则集是否允许 JNLP 在不签署 Jars 的情况下运行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!