Frage

Ich lese Was passiert, wenn ein Codesignaturzertifikat abgelaufen ist - Stapel Überlauf und Gedanken über eine solidere Antwort. Die Antwort zur Verfügung gestellt wurde, mehr über Ihre eigene Zertifizierungsstelle einrichten Auch mit Ihrem eigenen CA werden Sie noch mit auslaufenden Code Zertifikaten befassen müssen.

Wenn Sie den Code unterzeichnet, ohne einen Zeitstempeldienst zu verwenden, nachdem das Zertifikat Code abgelaufen sind wird nicht mehr vertraut werden, und je nach Sicherheitseinstellungen ist es nicht erlaubt werden kann, laufen. Sie müssen alle Ihre Codes mit einem neuen Zertifikat erneut zu unterzeichnen oder mit einem erneuerten Zertifikat, alle 1 oder 2 Jahre.

Trusted (digital) timestamping ermöglicht die digitale Signatur gültig, auch wenn das Zertifikat selbst abgelaufen ist. Sie müßten erneut signieren Code mit dem neuen Zertifikat nur dann, wenn Sie Änderungen vorgenommen haben.

Ist das alles richtig klingen? Wenn ja, muss ich Empfehlungen, was timestamping Dienst zu verwenden, vorzugsweise von jemandem, der eigentlich ein benutzt hat. Ich würde auch gerne wissen, ob es irgendwelche Inhouse-Lösungen sind, ähnlich wie Ihr eigener CA zu sein.

Im Moment gilt dies für Powershell-Skripts, aber ich werde schließlich mit anderem Code das gleiche Problem hat.

Aktualisieren : Beispiel dafür, wie ein PS-Skript mit einem Zeitstempel zu unterschreiben (Sie ein Skript für diese machen):

Set-AuthenticodeSignature -filepath "D:\Projects\A Sample\MyFile.ps1" 
  -cert gci cert:\CurrentUser\My -codesigning 
  | where -Filter {$_.FriendlyName -eq "Thawte Code Signing"}
  -IncludeChain All 
  -TimeStampServer "http://timestamp.verisign.com/scripts/timstamp.dll"

Dann das Signer Zertifikat und Timestamper Zertifikat, um zu sehen, Sie können dies tun:

Get-AuthenticodeSignature MyFile.ps1 | fl *

Es gibt Ihnen den Betreff (CN, OU, etc.), Issuer, Vorher / Nachher Termine und Thumbprints für beide Ihre cert und der CERTs timestamper. Sie erhalten auch eine Nachricht, die den Status der Signatur.

War es hilfreich?

Lösung

Du bist besser dran eine der vertrauenswürdigen Zertifizierungsanbieter Auswahl (Verisign, Thawte, Comodo, etc.). Auf diese Weise können Sie Ihre Software signieren, ohne dass der Benutzer explizit private Stammzertifizierungsstelle vertrauen Wir haben verwendet, um sowohl Verisign und Thawte, Comodo auch GoDaddy mit timestamping ohne Probleme mit der Software ungültig sogar Jahre werden, nachdem das Zertifikat abgelaufen ist.

Andere Tipps

Zeitprägung ist ein kostenloser Service - es ist wirklich nur ein zuverlässiger Anbieter überprüfen, ob Sie die Datei zu einem bestimmten Zeitpunkt unterzeichnet. Verisign Zeitstempel-Service ist der Standard. Das letzte Beispiel in der Hilfe für Set-AuthenticodeSignature zeigt, wie es zu benutzen.

Lee Holmes [MSFT] Windows Powershell-Entwicklung Microsoft Corporation

Sie können wirklich nicht mit Escape-Code schließlich zum Rücktritt. Der Vorteil Ihre eigenen CA zu laufen ist, dass Sie Ihre Code-Signierung Zert mit einem längeren Lebensdauer erteilen als der Standard wählen könnten, wodurch Sie länger warten, bevor irgendetwas zurücktreten zu müssen. Der Nachteil ist natürlich einen anderen Dienst oder Server (Ihre CA) mit zu behandeln.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top