Unter Berücksichtigung der Tatsache, dass das Zertifikat am 10. 10. 2016 ausgestellt wurde, dh, beeinflusst dies nach dem 1. 1. 2016 irgendwie das Verhalten der Signatur? Ich frage dies im Namen der Lektüre über die Abwertung von SHA-1, zB:
Nein, das geht nicht.
Soll ich auch einen Zeitstempel haben? Wofür ist das gut? Gibt es irgendwelche Nachteile von Zeitstempeln?
Zeitstempel sind ein Beweis für einen Dritten, dass die Signatur tatsächlich zu einem bestimmten Zeitpunkt erstellt wurde und nicht nur das Ergebnis des Zurückziehens der Uhr Ihres Computers war.
In erster Linie werden Zeitstempel verwendet, um nachzuweisen, dass die Signatur vor Ablauf des Zertifikats oder vor dem Widerruf des Zertifikats vorgenommen wurde.
Wenn beispielsweise der private Signaturschlüssel einer Person ausläuft und sie ihr Zertifikat widerrufen, bedeutet dies normalerweise, dass alle Signaturen (früher und zukünftig) ungültig werden. Signaturen mit Zeitstempel können jedoch gültig bleiben, da bekannt ist, dass sie vor dem Widerruf gemacht wurden.
Die SHA-1-Ablehnung in Windows Authenticode scheint auch mit einem Zeitstempel zu arbeiten, so dass alte Programme, die mit SHA-1 signiert wurden, immer noch als korrekt signiert angezeigt werden, während nach dem Abbruch von "Backdating" keine neuen Signaturen mehr Personen zugelassen werden.
Da es viele freie & öffentliche Zeitstempelbehörden gibt, gibt es keinen Grund, dies nicht zu tun.
Angenommen, ich würde die Unterstützung für XP und Vista aufgeben. Funktioniert die SHA-2-Codesignatur unter Windows 7 ordnungsgemäß?
Es gibt ein Chaos um das Cross-Signing von SHA-2 (insbesondere SHA-256) und SHA-1. Angenommen, ich unterstütze, wie gesagt, WinXP und Vista nicht mehr. Benötige ich das?
Beachten Sie zunächst, dass SHA-1 / SHA-2 an mehreren Stellen beteiligt ist. Sie wird separat verwendet, wenn die ausstellende Zertifizierungsstelle Ihr Zertifikat signiert und wenn Sie die eigentliche ausführbare Datei signieren (und selbst wenn die Zeitstempelbehörde Ihre Unterschrift gegenzeichnet .). Mit anderen Worten, es gibt eine Reihe von Signaturen, und jeder einzelne hat seinen eigenen Hash.
Es ist auch möglich, dass Signaturen auf Zertifikaten durch einen anderen Code als Signaturen für ausführbare Dateien überprüft werden, und einer kann SHA-2 unterstützen, der andere jedoch noch nicht.
Die tatsächliche Situation ist also, dass Windows XP SP3 vollständig mit SHA-2 signierte Zertifikate unterstützt. Es werden lediglich keine mit SHA-2 signierten ausführbaren Dateien unterstützt . Dies ist in KB 968730 erwähnt, auch dieser TechNet-Beitrag .
In Authenticode ist es jedoch möglich, mehrere Signaturen zur gleichen ausführbaren Datei hinzuzufügen ( Dual-Signing oder Nested Signing), sodass Sie für ältere Systeme eine SHA-1-basierte Signatur und für neuere eine SHA-2-basierte Signatur verwenden können.
Mit osslsigncode
können Sie zuerst eine SHA-1-Signatur erstellen -h sha1
und dann erneut ausführen -nest -h sha256
, um eine SHA-2 -Signatur hinzuzufügen. Dasselbe funktioniert mit signtool sign /as /fd sha256 /td sha256
(Signatur anhängen). Die nächtlichen PuTTY-Builds sind beispielsweise doppelt signiert und funktionieren mit allen Windows-Versionen, obwohl ein mit SHA-256 signiertes Zertifikat verwendet wird.
(Ich zähle nicht XP SP2 und älter, da gut.)