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

2022-09-01 09:41:41

操作系统:视窗 7 64 位

爪哇:jdk1.7.0_51

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

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

答案 1

用于安全性的 JAR 文件清单属性

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

在对 JAR 文件进行签名之前,将属性添加到清单中。
有关向 JAR 清单文件添加属性的信息,请参阅 Java 教程中的修改清单文件。

权限属性

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

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

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

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

对安全滑块的更改:

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

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

有关更多信息,请参阅 Java 控制面板文档。

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


答案 2

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

mkdir %windir%\Sun\Java\Deployment

创建一个包含以下内容的文件 deployment.config:

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

创建文件部署。属性

deployment.user.security.exception.sites=C\:/WINDOWS/Sun/Java/Deployment/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


推荐