Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 部署规则集是否允许JNLP在不签署JAR的情况下运行?_Java_Security_Java Web Start - Fatal编程技术网

Java 部署规则集是否允许JNLP在不签署JAR的情况下运行?

Java 部署规则集是否允许JNLP在不签署JAR的情况下运行?,java,security,java-web-start,Java,Security,Java Web Start,当我运行JNLP时,它会一直失败,并出现“com.sun.deploy.net.JARSigningException:在资源中找到未签名的项:http://......" 我的JNLP是由一个类动态生成的,最终在顶部看起来是这样的: <jnlp spec="1.0+" codebase="http://myhost.com:8080/webstart" href="jnlp?app=com.mycompany.LaunchWebstart"> 和我的公司密钥库签了名 jarsig

当我运行JNLP时,它会一直失败,并出现“com.sun.deploy.net.JARSigningException:在资源中找到未签名的项:http://......"

我的JNLP是由一个类动态生成的,最终在顶部看起来是这样的:

<jnlp spec="1.0+" codebase="http://myhost.com:8080/webstart" href="jnlp?app=com.mycompany.LaunchWebstart">
和我的公司密钥库签了名

jarsigner DeploymentRuleSet.jar <alias> -keystore <path-to-keystore> -sigfile filesig -storetype <store-type>
根据协议,我应该能够在不签署JAR的情况下运行,那么为什么会出现此错误

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

部署规则集是否允许JNLP在不签署JAR的情况下运行


我从来没有听说过“部署规则集”,但是如果有任何东西允许未签名的Jar运行(除了用户在控制台中手动调整安全级别之外),这将是一个安全缺陷。

您需要在JAVA>security>Certificates>Signer CA下导入证书,您的规则集似乎无效。您可以通过打开Java控制面板并在安全选项卡上单击“查看活动部署规则集”来检查这一点

不允许在运行权限时省略id。根据:“为了确保所有RIA都由规则集处理,您可以提供一个最终规则,该规则与以前的规则不匹配的任何RIA相匹配。此规则的操作必须是block或default。”


要允许未签名的应用程序,您应该列出它的位置。您还应该更改jnlp文件的href属性以包含相同的位置。我已经在我们的应用程序中尝试了这一点,但不幸的是,我仍然收到错误“在资源中找到未签名的项…”。根据对它的回复,它应该可以工作,但是…

不确定你是否真的可以称之为安全漏洞。它要求您在C:\Windows\Sun\Java\deployment中安装部署规则集。如果你有权这样做,你几乎可以做任何事情。系统管理员有责任确保配置的安全性。
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