2017-04-25 6 views
1

Ich unterzeichnete eine Jar-Datei mit dem Unterzeichner mit jdk 1.7.0_71 zur Verfügung gestellt. Das funktionierte auch vorher, bis wir vonSignierte JAR-Datei in Java erkannt 1.7.0_76 aber nicht Java 1.7.0_75

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

zu

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

Jetzt haben wir das Verhalten, dass die JAR-Datei in 1.7.0_76 als signierte erkannt wird, aber nicht 1.7.0_75. Der einzige Unterschied, den ich sehe, ist die Generation.

Obwohl ich das starke Gefühl habe, dass einige Sicherheitsupdates ähnlich dem in Signing JAR files in the explorer showing "unsigned" when verifying them beschriebenen Thema das Problem verursachen, kann ich keinen Beweis finden.

Hat schon jemand über ein ähnliches oder das gleiche Problem gestolpert und vor allem eine Lösung gefunden?

Antwort

0

Das Problem war nicht das neue Zertifikat. Es hing tatsächlich von zwei anderen Faktoren ab.

  1. Die Java-Version, von der der Jarsigner genommen wurde. Wenn Sie den Jarsigner aus einem Java 8 JDK nehmen, kann es vorkommen, dass es nicht mehr mit jeder Java 7 JRE funktioniert, da SHA256 bei "Timestamp Digest Algorithm" verwendet wird.
  2. Die URL für Timestamping. Wenn Sie eine höhere Sicherheit verwenden (sagen wir SHA256), funktioniert es auch nicht mehr mit jeder Java 7 JRE, da wieder SHA256 verwendet wird, jetzt bei "Timestamp Signaturalgorithmus".
Verwandte Themen