我正在尝试使用 javaws 运行 .jnlp 文件。它产生这个错误:
Caused by: net.sourceforge.jnlp.LaunchException: Fatal:
Application Error: The JNLP application is not fully signed
by a single cert. The JNLP application has its components
individually signed, however there must be a common signer to
all entries.
看来本地 java VM 施加了这些安全限制。现在我确信这个 .jnlp 文件的源是安全的,我真的很想运行它。更糟糕的是,在 Windows 中下载并打开同一个文件确实有效。不知道这是为什么?
我怎样才能告诉 javaws 忽略这个问题?
javaws -版本:icedtea-web 1.6.2 (1.6.2-3.1)
debianstretch,内核 Linux 4.9.0-8-amd64
编辑:这篇文章被认为是一个骗局运行未签名的 javaws 代码
然而,所有可能的解决方案都不适合我:
添加:
deployment.security.level=ALLOW_UNSIGNED
到
.java/deployment/deployment.properties
不工作。另外, ~/.config/icedtea.web 是 .java/deployment 的别名的说法是不正确的。该文件在 ~/.config/icedtea.web 中根本不存在。至少在我的系统上没有。我将deployment.prpoerties链接到~/.config/icedtea.web。无济于事。
我创建了一个链接,以便 ~/.config/icedtea.web 指向 .java/deployment/。也没有用。
然后,建议注释掉disableAlgorithms中
/etc/java-*-openjdk/security/java.security
我的系统上有多个 java.security 文件,包括 /etc 和 /usr 中。我在系统上存在的所有 java.security 文件中注释掉了这一行。
所以也许这篇文章是类似问题的复制品,显然它是不同的,因为提出的解决方案不能解决问题。
我还可以提供哪些信息来更接近原因?为什么它可以立即在 Windows 中运行而无需更改任何安全设置?