Java Web Start - 未知发布者运行的应用程序将被阻止 - 文件 list 不包含权限

标签 java security java-web-start

我有一个网络启动应用程序,但我对上面的消息感到困惑。

Do you want to run this application
Publisher: UNKNOWN
Running applications by UNKNOWN publishers will be blocked in a future release because it is potentially unsafe and a security risk. 
This application will be blocked in a future java security update because the JAR file manifest does not contain the Permissions attribute. Please contact the Publisher for more information".

我已尝试将 Permissions 属性添加到 JNLP 文件中所有 jar 的 list 中。我什至不厌其烦地黑进了我计算机上的 Java 缓存,并解压缩了所有 jar 文件以确保权限属性确实存在其中,并且每个文件都存在。

现在也许对话框实际上是在说发布者是未知的,因为我的应用程序是自签名的。如果对话这么说,那就足够公平了。但是它并没有说它是 UNKNOWN 因为它是自签名的,它说它是未知的因为“JAR 文件 list 不包含 Permissions 属性”。

所以我很难过。这是 Oracle 弹出一个垃圾对话框提示 Permissions 属性的情况,而这实际上是自签名代码的问题?还是我做错了什么我无法弄清楚?

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.2
Application-Library-Allowable-Codebase: *
Application-Name: CLSIS 
Permissions: all-permissions
Created-By: 1.7.0_45-b18 (Oracle Corporation)
Caller-Allowable-Codebase: *
Codebase: *

最佳答案

..maybe the dialog is actually saying the publisher is UNKNOWN because my app is self-signed. That would be fair enough if the dialog said that. However it doesn't say that it is UNKNOWN because it is self-signed, it says it is unknown because "the JAR file manifest does not contain the Permissions attribute".

这不是我阅读邮件的方式。这两个问题是无关的。

  • 使用证书颁发机构颁发的正确代码签名证书来抑制第一条消息并显示发布者名称。
  • 添加 list 属性以抑制第二条消息。

I've even gone to the trouble of hacking into the Java cache on my computer, and unzipping all the jars to make sure the Permissions attribute really got in there,..

这看起来确实很奇怪。 JCP 的默认设置是将 Jar 存储为资源的松散文件。进入:

  • Java Control Panel
  • 常规(制表符)
  • Internet 临时文件(部分)
  • 设置(按钮)
  • 磁盘空间(部分)
  • 选择 JAR 文件的压缩级别:(下拉)

它报告什么?此处显示“无”,表示 JRE 会将资源解压缩为松散文件。

关于Java Web Start - 未知发布者运行的应用程序将被阻止 - 文件 list 不包含权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19625828/

相关文章:

java - 为什么需要 Thread.start()?

java - 遍历数组 - java

java - 从java发送命令到linux

node.js - 如何防止恶意* .js脚本在Node.js中执行

Java Webstart 日志记录

java - 如何从包含绝对文件路径的字符串中获取文件名?

security - 启用了 Heroku 自动证书管理但仍然没有绿色栏

php - 如何防止 PHP 中的 SQL 注入(inject)?

java - 安全异常 : MalformedURLException: unknown protocol: socket during opening JNLP file

java.lang.SecurityException : JAR manifest requested to run in all-permissons only