如何签名JNLP文件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何签名JNLP文件?相关的知识,希望对你有一定的参考价值。

我正在使用ANT脚本(应用程序内置到jar文件中)构建Java 7应用程序,并使用JNLP文件部署到客户端。

目前我需要将一些“属性”放入JNLP文件中,但该属性在我的应用程序中是不可见的,除非我将该特定属性标记为“安全”(意味着将“jnlp。”作为属性名称前缀)。这有效,但我不认为这是向应用程序提供自定义属性的好方法。

为了使用jnlp属性我应该这样,我必须“签署”jzls文件描述的qnlp文件。

当我使用Java 7时,制作JNLP模板的能力很好,但我不确定是将JNLP模板放在我的项目结构中,也不知道如何将它包含在我的Ant构建中。

我对Ant不是很“流利”。

答案

您需要在Ant中使用signJar任务。以下是文档的链接以及如何使用它的示例。

here

另一答案

您需要将JNLP添加到链接中指定的目录和名称下的JAR文件中,这通过https://ant.apache.org/manual/Tasks/signjar.html任务完成,然后使用<jar>任务对其进行签名。

另一答案

正如本文所描述的,如果要对JNLP文件进行签名,则必须将其放入JNLP-INF子目录中。所以你的项目结构应如下所示:

<signjar>

JAR文件以通常的方式创建和签名 - 不需要额外的任务。请注意,启动应用程序时,使用的JNLP文件必须与签名JAR中的JNLP文件相同才能运行应用程序。

在“jar”下我只有2个子节点:“manifest”和fileset dir =“$ {workspace.path} $ {project.name} / bin”

这意味着将创建清单,并且/ bin目录中的每个文件和文件夹都将包含在app.jar文件中。所以例如eclipse自动将每个源目录放入/ bin文件中。因此,根据您使用/不使用的IDE类型,您必须手动复制JNLP-INF。由于签名总是在整个jar文件上完成,所以你不需要做任何事情......

以上是关于如何签名JNLP文件?的主要内容,如果未能解决你的问题,请参考以下文章

已安装Java,下载jnlp文件依旧无法使用。

如果通过双击 JNLP 文件启动 JAVA Web Start 应用程序,如何允许它访问 macOS Catalina 上的文件系统?

使用受信任的证书对 JWS 部署的 jar 文件进行签名

java出现问题打不开jnlp文件

java无法启动该应用程序jnlp文件打不开

Java web start:如何根据客户端可以管理的内容来改变 jnlp 中的堆内存请求?