0

我们使用新安装的 JDK 1.7 对 JAR 文件进行签名。之后,我们立即使用相同的 jarsigner 和相同的密钥库验证它,然后......它失败并显示以下消息:

无效的 SHA256 哈希...

签名/验证代码很简单(windows批处理中的两个后续行):

%JAVADIR%\jarsigner -keystore \path\to\SBBJavaCodeSigningStore -storepass my_password SecureBlackbox.JCE.jar sbbjavacodesigningkey
%JAVADIR%\jarsigner -verify -keystore \path\to\SBBJavaCodeSigningStore -storepass my_password SecureBlackbox.JCE.jar

最糟糕的是,问题似乎是随机的,当验证失败时,jarsigner 甚至没有设置 errorlevel(退出代码)。

它是Java签名者或加密类的错误还是其他什么?

4

1 回答 1

1

我将解决方案放在这里作为其他用户的教训。

似乎后来在批处理文件中,我们对所有 JAR 进行了批处理,并且这个特定的 JAR 被签名了两次。jarsigner 允许您执行第二个签名并以这种方式破坏第一个签名。

于 2012-09-06T19:54:20.483 回答