执行jnlp文件时出现SecurityException(主jar中缺少必需的权限清单属性)

时间:2014-01-28 11:48:19

标签: java java-web-start jnlp

操作系统:Windows 7 64位

Java:jdk1.7.0_51

我有一个jnlp文件。当我双击它时,发生异常如下:

Application Error: Unable to launch the application
Exception: java.lang.SecurityException: Missing required Permissions manifest attribute in main jar

2 个答案:

答案 0 :(得分:49)

安全性的JAR文件清单属性

The JAR file manifest包含有关JAR文件内容的信息,包括安全性和配置信息。

在签署JAR文件之前将属性添加到清单 有关向JAR清单文件添加属性的信息,请参阅Java教程中的Modifying a Manifest File

权限属性

Permissions属性用于验证RIA运行时请求的权限级别是否与创建JAR文件时设置的权限级别相匹配。

使用此属性可帮助阻止某人重新部署使用您的证书签名并在不同权限级别运行的应用程序。将此属性设置为以下值之一:

  • 沙箱 - 在安全沙箱中运行,不需要其他权限。

  • 所有权限 - 需要访问用户的系统资源。

对安全滑块的更改:

此版本(7u51)中包含对安全滑块的以下更改:

  • 在高安全性设置下阻止自签名和未签名的小程序
  • 需要高安全性设置的权限属性
  • 警告中等安全设置缺少权限属性的用户

有关详细信息,请参阅Java Control Panel文档。

enter image description here

示例 MANIFEST.MF

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.3
Created-By: 1.7.0_51-b13 (Oracle Corporation)
Trusted-Only: true
Class-Path: lib/plugin.jar
Permissions: sandbox
Codebase: http://myweb.de http://www.myweb.de
Application-Name: summary-applet

答案 1 :(得分:4)

如果您想为机器的所有用户全局设置此选项,您可以创建以下目录和文件结构:

mkdir %windir%\Sun\Java\Deployment

使用内容:

创建文件deployment.config
deployment.system.config=file:///c:/windows/Sun/Java/Deployment/deployment.properties
deployment.system.config.mandatory=TRUE

创建文件deployment.properties

deployment.user.security.exception.sites=C\:/WINDOWS/Sun/Java/Deployment/exception.sites

创建文件exception.sites

http://example1.com
http://example2.com/path/to/specific/directory/

参考https://blogs.oracle.com/java-platform-group/entry/upcoming_exception_site_list_in