2017-04-25 132 views
1

我使用随jdk 1.7.0_71提供的签名者签署了一个jar文件。这也是以前的工作,直到我们从在java 1.7.0_76但不是java中识别的已签名的jar文件1.7.0_75

X.509, CN=GlobalSign CodeSigning CA - SHA256 - G2, O=GlobalSign nv-sa 

更新

X.509, CN=GlobalSign CodeSigning CA - SHA256 - G3, O=GlobalSign nv-sa 

现在我们的行为,截至1.7.0_76签署但尚未1.7.0_75 jar文件被识别。我看到的唯一区别是一代人。

虽然我有强烈的感觉,一些安全更新类似于Signing JAR files in the explorer showing "unsigned" when verifying them中描述的主题导致问题,我找不到任何证据。

有人已经绊倒了类似或相同的问题,更重要的是,找到了解决方案?

回答

0

问题不在于新证书。它实际上取决于另外两个因素。

  1. jarsigner的Java版本。如果您从某个Java 8 JDK中取得jarsigner,则可能会发生这种情况,即在“时间戳摘要算法”中使用SHA256时,它不再适用于每个Java 7 JRE。
  2. 用于时间戳的URL。如果您使用的是提供更高安全性的产品(比如说SHA256),那么现在使用“Timestamp signature algorithm”(时间戳签名算法),对于每个Java 7 JRE也不再适用SHA256。