gpt4 book ai didi

Java 7 list 安全更改

转载 作者:搜寻专家 更新时间:2023-11-01 03:38:45 25 4
gpt4 key购买 nike

随着最近对 Java 7s 安全检查的更改,我正在更新我们的 webstart 应用程序以允许它在没有警告的情况下运行。

我们的 webstart 应用程序由许多 jar 文件组成,其中只有少数是我们开发的,我们使用了许多第 3 方 jar 文件(log4j、swingx、...)

我们之前的设置使用了自签名证书,我们用它签署了所有 jar 文件。我们现在已经从适当的 CA 购买了签名证书。

到目前为止我采取的步骤是:

  • 解压jar文件
  • 从所有 jar 文件中删除旧证书(从 list 中删除 *.DSA *.SF *.RSA 和哈希值)
  • 重新打包jar文件
  • 将权限、代码库、应用程序名称属性添加到包含我们的主类的 jar 文件。
  • 使用新 key 签署 jar 文件

在装有 Java 7 u45 的机器上的 webstart 中运行它不会出现警告对话框,这很好。

但是,在 java 控制台中,我看到它警告说其他 jar 文件的所有 jar 缺少权限、代码库、应用程序名称属性。我还应该将这些属性添加到每个 jar 文件吗?

我已经对重新打包第 3 方 jar 文件感到不安,但现在还必须添加 list 属性让我觉得我错过了一些东西。

那么,更改 list ,还是其他什么?谢谢,圣诞快乐

编辑:感谢您提供有用的回复,我只是想用我已实现的解决方案的一些细节来更新它。

我采取以下步骤重新打包应用程序所需的每个 jar 文件。- 将 jar 文件解压到一个临时目录
- 从 META-INF 中删除 *.DSA *.RSA *.SF
- 从 META-INF/MANIFEST.MF 中删除以
开头的行 - SHA-256-摘要
- SHA1 摘要
- 权限
- 代码库
- 应用程序名称
- 将行插入 META-INF/MANIFEST.MF
- 权限:所有权限
- 代码库:*
- 应用名称:我的应用名称
- 确保 MANIFEST.MF 中的所有行结尾都适合我的系统 (dos2unix)
- 使用指定的新 list 重新创建 jar 文件
- 使用当前的代码签名证书对 jar 文件进行签名

希望对你有帮助

最佳答案

是的,您需要将 PermissionCodebaseApplication-Name list 属性添加到您的应用程序使用的每个 .jar。这是主应用程序 .jar 以及所有第 3 方库 .jars。

查看此答案 https://stackoverflow.com/a/19659135/963076到另一个 SO 问题。

你感到不安是件好事。据我了解,向第三方库的 list 添加内容违反了几乎所有库都附带的 GNU 许可协议(protocol)。我一直在摸不着头脑,因为 Oracle 一直在发布这些关于他们的想法的更新。为什么第 3 方库需要指定 JNLP 代码库?他们知道他们在强制我们违反这些第 3 方库的许可协议(protocol)吗?

但是,唉,如果您希望这些警告消失,甚至希望您的应用程序在未来的 Java 更新中运行,您必须这样做。事实上,如果您使用像 Netbeans 这样的 IDE,那么它已经在重新打包并退出您的第 3 方库 .jars 无论如何。因此,您不会违反您的 IDE 尚未违反的任何规则。

关于Java 7 list 安全更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20759765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com