当前位置: 首页 > 面试题库 >

如何在没有安全警告的情况下发布Java Web Start jnlp应用程序?

胡浩瀚
2023-03-14
问题内容

我有一个从网站的jnlp文件启动的Java应用程序。我正在尝试使其运行,而不会在运行前弹出一堆安全警告。

该程序分为大约10个不同的jar文件,大约30个jar库,以及也包含在jar文件中的几个本机库。

我已经使用官方代码签名证书(来自Verisign)对所有jar文件进行了签名,并将jnlp文件包含在保存主类的jar文件中,并向我所使用的主要10个jar添加了权限和代码库属性编译

当我启动程序时,我收到消息说明:

该应用程序将在以后的Java安全更新中被阻止,因为JAR文件清单不包含Permissions属性。请与发布者联系以获取更多信息。

我可以单击“运行”以跳过此消息,但随后我得到:

阻止运行潜在的不安全组件?该应用程序包含签名和未签名的代码。

我已将权限属性添加到我正在编译的所有jar文件中。我是否还必须为正在使用的第三方库更新jar清单?如果是这样,有没有简单的方法可以做到这一点?我正在使用Apache
Ant来构建应用程序。


问题答案:

是的,您必须更新所有jar。
您可以将这些属性直接从文件添加到jar文件( 所有jar )的清单中-

在您的插件目录中:

jar ufm <jar_file> additionalAttribute.txt

此AdditionalAttribute.txt将包含您的其他清单属性,例如-

Permissions: all-permissions  
Codebase: *  
Application-Name: My App  
Caller-Allowable-Codebase: *  
Trusted-Library: true
Application-Library-Allowable-Codebase: *


 类似资料:
  • 我正在遵循Oracle的教程在JavaFX中创建TableView。在这个截图中,我复制并粘贴了代码,发现了几个错误,教程中没有提到这些错误。 TableView上的警告显示: TableView是原始类型。对泛型类型TableView的引用 表列上的警告说: 表列是一个原始类型。对泛型类型TableCol列的引用 addAll方法上的警告是: 类型安全:方法addAll(Object…)属于原始

  • 问题内容: 我想知道如何在Spring MVC上引导我的应用程序? 我有一个初始化器: 我知道我们为什么需要以及如何使用它来引导应用程序。但是我不明白,如果没有文件(只有),怎么知道应该使用哪个servlet来引导应用程序? 依存关系 我在Spring核心中找到了此类。使用它来引导我的应用程序是否正确? http://docs.oracle.com/javaee/7/api/javax/servl

  • 我正在尝试设置一个动态,从本地目录读取文件。因此,我创建了以下可参数化类: 参数化流在的帮助下注册,如下所示: 启动应用程序后,我得到以下警告: 如果我理解正确的话,负责创建集成bean(从而设置beanFactory)。但是为什么我会收到这个错误信息呢?

  • 我使用创建了一个应用程序构建文件。这将用和文件填充文件夹。 我在internet上进行了搜索,发现可以使用运行这些文件。不幸的是,这会产生以下错误输出: org.springframework.beans.factory.BeanCreationException:创建名为“org.springframework.boot.autocigure.orm.jpa.hibernatejpaAutoCo

  • 我正在使用minGW的minw-w64(x64)分叉nuwen.net.这是来自gcc的7.1版本: 我正在编译这个程序: 带有警告和c11标准: 我得到了这些警告: 我想在没有警告的情况下打印size_t,但在这种情况下不知道正确的格式说明符。