2017-04-25 32 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。