Java安全例外无效的SHA1 Jar文件

Kar*_*thi 3 java eclipse sql-server sha1 jar

我是Java环境的新手.执行Jar文件后我遇到了问题.我正在使用Eclipse KEPLER进行Java编程.我使用导出我的项目File->Export ->Runnable Jar file.jar文件已创建.当我使用Java-jar文件名启动jar时.在罐子里,我得到了一些错误,我已经附加到这些问题上了.我查看了这个无效的SHA1签名文件摘要并尝试了同样的方法.我仍然遇到这个问题.

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

Aar*_*lla 6

该错误意味着类路径中的一个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和子文件夹.