2015-07-27 9 views
7

passieren wird, wenn ich einen Schlüsselspeicher und unterzeichnet ein Glas schaffen mit diesen Befehlen:jarsigner - Was nach Ablauf

keytool -genkey -alias myalias -keyalg RSA -validity 365 -keystore keys/my.keystore 

jarsigner -verbose -keystore keys/my.keystore -signedjar my_signed.jar my_unsigned.jar myalias 

Dann würde ich ein Zertifikat erzeugen, die 365 Tage gültig ist. Was passiert nach 365 Tagen mit der JAR-Datei? Ist es noch lauffähig? Kann jemand noch den Unterzeichner davon bekommen, wenn er "jarsigner verify" verwendet? Wie kann das Zertifikat aktualisiert werden?

+1

Gute Frage, schneller Vorschlag erstellen Sie ein Zertifikat mit einer sehr kurzen Gültigkeitsdauer und probieren Sie es aus. Ich würde mich interessieren, um die Antwort zu sehen :) –

+0

Ich fand die folgende Frage und Antwort, die darauf hindeutet, dass es abhängt, http://stackoverflow.com/questions/5206859/java-trustmanager-behavior-on-expired-certificates –

+0

Ja Ich dachte darüber nach, aber ich muss es heute unterschreiben :) –

Antwort

3

Das jarsigner Tool verfügt über eine Option (-tsa url) nach http://docs.oracle.com/javase/7/docs/technotes/guides/security/time-of-signing.html

Wenn Sie die tsa Option ein signierter Zeitstempel auf die Unterschrift des Glases enthalten ist. Viele Zertifizierungsstellen, die Codesignaturzertifikate anbieten, verfügen über einen solchen Zeitstempelserver. Wenn die Signatur des Datenträgers später verifiziert wird, prüft der Client, ob das Zertifikat beim Signieren des Datenträgers noch gültig war. So kann das Glas noch verifiziert werden, selbst wenn das Jahr vergangen ist. Sie sollten den Zeitserver Ihrer CA verwenden, da dann die Signatur des Zeitstempels verifiziert werden kann (die Zertifikatskette ist bereits enthalten - da Sie den Code mit einem Zertifikat aus dieser ca verbannt haben)