【问题标题】:Java Security Exception Invalid SHA1 Jar fileJava 安全异常 SHA1 Jar 文件无效
【发布时间】:2014-01-30 08:15:59
【问题描述】:

我对 Java 环境完全陌生。执行 Jar 文件后遇到问题。 我正在使用 Eclipse KEPLER 进行 Java 编程。我使用File->Export ->Runnable Jar file 导出了我的项目。 jar 文件已创建。当我使用 Java 启动 jar 时 - jar 文件名。在 jar 中,我遇到了一些附加到这些问题的错误。我看了这个invalid SHA1 signature file digest 并尝试了同样的方法。我仍然遇到问题。

Error : Exception in thread "main" java.lang.SecurityException:invalid SHA1 Signature file digest for com/microsoft/sqlserver/jdbc/SQLServerException.class

【问题讨论】:

  • 从 Eclipse 内部运行项目时是否有效?
  • 在使用导出可运行 JAR 向导时使用哪些选项?
  • 我刚刚做了 FILE->EXPORT->JAVA->Runnable JAR FILE。
  • 您在下一步中选择了哪些选项?
  • 在库处理中,我选择了将所需库提取到生成的 JAR 中。我没有选择任何其他选项,例如另存为 ANT 脚本,我选择了完成步骤。

标签: java sql-server eclipse jar sha1


【解决方案1】:

该错误表示类路径中的一个 JAR 文件包含一个 MANIFEST.MF,其中包含 com/microsoft/sqlserver/jdbc/SQLServerException.class 条目,并且其中的 SHA1 校验和不匹配。

首先要检查的是 JAR 没有损坏。由于您可以从 Eclipse 内部运行该项目,因此它们似乎没问题。

留下导出的 JAR。我的猜测是导出过程在那里留下了垃圾。打开它(JAR 档案是 ZIP 档案,因此任何 ZIP 工具都可以使用)并查找 MANIFEST.MF 文件。

其中一个包含上述条目。找到后,将其与原始 JAR 中的版本进行比较。它们必须 100% 相同。

[编辑]“将所需库提取到生成的 JAR”选项有一个错误:它会在 MANIFEST.MF 中留下签名。这里的问题是签名取决于清单的确切内容。如果任何地方的单个位发生变化,签名就会损坏。这是设计使然:否则,攻击者可以修改代码。

尝试“将所需的库打包到生成的 JAR 中”。

如果这不起作用,您必须使用最后一个选项。传递可执行项目时,请确保包含 JAR 和子文件夹。

【讨论】:

  • 谢谢。我验证了细节。它们是 100% 相同的..SQL Server Jar 文件
  • 对不起,我听不懂你说的。根据您的评论,我查看了我创建的 Jar 文件中的 MANIFEST.MF 文件和 sqlserver JAR 中的 MANIFEST.MF。两者彼此相似。我在 META-INT 文件夹中看不到任何其他 MANIFEST.MF。你认为我在这里遗漏了什么。 ?
  • 整个 JAR 档案包含一个 MANIFEST.MF?没有嵌套的 JAR 档案?
  • "“将所需库提取到生成的 JAR”选项有一个错误:它将签名留在 MANIFEST.MF 中。这里的问题是签名取决于清单的确切内容。如果即使是任何地方的单个位更改,签名都会损坏。这是设计使然:否则,攻击者可以修改代码。这一步解决了我的问题。我之前不知道这件事。无论如何感谢您的帮助
【解决方案2】:

我废话解决了签名问题

  • 解压 sqljdbc41.jar(使用 WinZip)删除所有名称对: SHA1-Digest:在 MANIFEST.MF 中
  • 正在删除 MSFTSIG.RSA、MSFTSIG.SF
  • 重新打包 sqljdbc41.jar(使用 WinZip)

【讨论】:

  • 我的意思是,您已经删除了安全性,即“jarsigning”,不是吗?
【解决方案3】:

我已经删除了旧的 sqljdbc jar 并使用了最新的。它解决了我的问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-31
    • 1970-01-01
    • 1970-01-01
    • 2017-07-26
    相关资源
    最近更新 更多