Bereits seit vielen Jahren signiere ich sämtliche meiner Binärdateien digital – also Setups oder ausführbare Produktdateien.
Aber weswegen ist die digitale Signatur von Binärdateien so wichtig?
Ist eine Binärdatei digital signiert, kann der Benutzer, der sie ausführen möchte, sicherstellen, dass es sich um die Orginaldatei handelt und diese in keiner Weise verändert wurde. Außerdem zeigt die Windows Vista und Windows 7 Benutzerkontensteuerung diese
anstatt dieser sehr hässlichen Meldung an:
Davon abgesehen setzen inzwischen auch App-Store-Systeme wie Intel AppUp (Englisch) voraus, dass Ihre Setups digital signiert sind.
Zunächst einmal benötigen Sie ein Code-Signing-Zertifikat. Wenn Sie ein Entwickler im Intel-AppUp-Programm sind, bekommen Sie dieses direkt über die AppUp-Entwickler-Webseite. Ansonsten können Sie hier günstige Comodo-Zertifikate erhalten: http://codesigning.ksoftware.net (Englisch)
Nachdem Sie Ihre Code-Signing-Zertifikat erhalten haben, können Sie diese kleine GUI-Anwendung zum Signieren von binären Dateien (Englisch) verwenden.
Oder, falls Sie keine GUI-Anwendungen mögen oder das Signieren in Ihren Build-Prozess einbinden möchten, können Sie auch eine kleine Batch-Datei wie diese erstellen und die Binärdatei, die Sie signieren möchten, einfach per Drag & Drop auf diese Batch-Datei ziehen (oder als Parameter übergeben):
signtool.exe sign /f "zertifikat.pfx" /p "passwort" /t "http://timestamp.verisign.com/scripts/timstamp.dll" "%1"
Natürlich müssen Sie zertifikat.pfx mit dem Dateinamen Ihres Zertifikats (welches sich zusammen mit der Datei signtool.exe im selben Verzeichnis wie die Batch-Datei befinden sollte) und passwort mit Ihrem Zertifikatspasswort, dass Sie beim Export aus Ihrem Webbrowser gewählt haben,ersetzen. Um die Datei signtool.exe zu erhalten, laden Sie sich das kostenlose Microsoft Windows SDK (Englisch) herunter.
Hier sind einige häufig gestellte Fragen zu Code-Signing-Zertifikaten und digitaler Signatur.
Signieren Sie auch Ihre Binärdatei bereits digital?
Der Artikel ist auch in English verfügbar.
Pingback: FAQ zu Code-Signing-Zertifikaten und digitaler Signatur | AB-WebLog.com