Wie können Sie Anwendungen auf Windows (SDK) signieren?
Wie können Sie Anwendungen auf Windows (SDK) signieren?
Schauen wir uns an, wie Anwendungen auf Windows mit Windows SDK (Signtool) und den Code Signing Zertifikaten signiert werden. Das ausgestellte Code Signing Zertifikat haben Sie bereits als eine PFX-Datei vorhanden und die Entwicklungsumgebung Windows SDK auf das Operationssystem Windows installiert. SDK können Sie auf dem Microsoft Web für Ihre konkrete Windows-Version herunterladen, zum Beispiel Windows Software Development Kit (SDK) for Windows 10.
Code Signing Zertifikate (sowohl OV als auch EV) können nur noch auf einem Token gespeichert werden. Sie können ein Code Signing-Zertifikat nicht mehr als PFX-Datei erhalten!
Nutzung von Signtool
Signtool.exe ist ein Programm, welches Anwendungen mit dem Code Signing Zertifikat signiert. Nach der Installierung von Windows SDK nutzen Sie es über die Kommandozeile. Für die Signierung von Anwendungen müssen Sie die Basis-Parameter kennen, damit Sie die Signierung mit dem richtigen Zertifikat und mit den richtigen Einstellungen aufrufen können.
Die Signierung erfolgt tatsächlich über die Kommandozeile. Somit reicht es aus, das Zertifikat auf dem Rechner gespeichert zu haben, Sie brauchen es nicht irgendwohin zu installieren.
Beispiel des Signierens mit signtool.exe
Die Basis-Parameter (Befehle) für die Signierung lauten folgendermaßen:
Signtool Befehl /Parameter
Von den Befehlen werden Sie sign für die Signierung und verify für die Verifizierung der Signatur der Datei nutzen. Timestamp ist ein Befehl für die Einfügung des Zeitstempels, aber diesen können Sie ebenfalls gleich bei der Signierung der Datei erstellen.
Nützliche Parameter:
/f SignCertFile – falls Sie für die Signatur eine PFX-Datei nutzen, verweist dieser Befehl auf ihren Speicherort. Es ist nicht mehr möglich, ein Code Signing Zertifikat als eine PFX-Datei zu erwerben.
/s StoreName – falls Sie den Zertifikatsspeicher nutzen (z.B. auf einem Token), bestimmt dieser Parameter näher, welcher genutzt werden soll. Default ist My.
/t URL – fügt ein Zeitstempel und einen Link zu ihm hinzu. Die URL der Timestamp-Server finden Sie unten.
/td - Hash-Algorithmus (digest) im Zeitstempel. Wählen Sie mindestens sha256 oder höher.
/fd - Hash-Algorithmus (digest). Wählen Sie mindestens sha256 oder höher.
Die vollständigen Unterlagen finden Sie auf dem Microsoft Web oder nach der Eingabe der Kommandozeile „signtool sign /?“.
Die ganze Kommandozeile für die Signierung der Datei kann dann zum Beispiel folgendermaßen aussehen:
SignTool sign /n "My Company Certificate" /td sha256 /fd sha256 /t http://timestamp.digicert.com C:test.exe
Timestamp, also den Zeitstempel, nutzen Sie immer. Er stellt sicher, dass die signierte Anwendung auch nach dem Ablaufdatum des Zertifikats, welches für die Signierung genutzt wurde, vertrauenswürdig bleibt. Dies ist äußerst wichtig, weil sie dann die älteren Anwendungen nicht erneut signieren werden müssen (typischerweise nach der zweijährigen Gültigkeitsdauer des Code Signing Zertifikats). Wenn Sie im Moment der Signierung den Timestamp nutzen werden und das Zertifikat nicht widerrufen wird, wird auch die Anwendung in der Zukunft ihre Vertrauenswürdigkeit und Gültigkeit behalten.
Es gibt mehrere Server, welche die Zeitstempel anbieten, aber wir empfehlen Ihnen, den Timestamp Server von DigiCert zu nutzen: http://timestamp.digicert.com/
Dieser Server hat kein Web auf dem Port 80, deshalb versuchen Sie nicht, ihn mit dem Browser aufzurufen – sie würden nichts sehen.
Übergang von Code Signing (PFX) zum Signieren mit einem Token: Sie müssen beim Signieren nichts ändern. Nur wenn Sie es gewohnt sind, mit einer PFX-Datei zu signieren, verwenden Sie zunächst den Link zum Zertifikatspeicher (den Parameter /s My). Die Bedienungsanwendung Safenet kümmert sich um alles.
Zertifikatsspeicher
Das Zertifikat kann in verschiedenen Speichern gespeichert werden und es kann auf verschiedenen Weisen aufgerufen werden. Früher war es möglich, das Zertifikat als PFX-Datei zu speichern, dies ist jedoch nicht mehr möglich. Die PFX-Datei kann Ihnen jeder entwenden und obwohl sie mit einem Passwort geschützt ist, handelt es sich um ein großes Sicherheitsrisiko. Darüber hinaus sind die Passwörter oft sehr schwach. PFX ist vor allem als Sicherungskopie der S/MIME- oder Web-Zertifikate geeignet.
Eine übliche Methode zum Speichern eines Code Signing-Zertifikats besteht darin, es auf einem Token zu speichern und es dann nach dem Subjekt im Zertifikat aufzurufen. Diese Methode ist sicher und praktisch identisch mit der früheren Signatur mit PFX. Ohne den privaten Schlüssel, der nicht aus dem Token exportiert werden kann, ist das Zertifikat nutzlos und ein Missbrauch daher nicht möglich; wird das Passwort fünfmal falsch eingegeben, wird der Token gesperrt.
Die empfohlene und moderne Aufbewahrung des Zertifikats erfolgt in der Cloud. Wir empfehlen, den Token zu verlassen und Cloud-HSM zu nutzen, die sicherer sind und den Signaturvorgang für Sie nicht verändern. Siehe Artikel Code Signing Centrum.
Die Signatur mit einem auf einem Token gespeicherten Zertifikat erfordert den Parameter /n SubjectName:
signtool sign /n "My Company Certificate" /td sha256 /fd sha256 /t http://timestamp.digicert.com C:test.exe
Oder Sie können den Standard-Speicher My wählen und die Signatur-SW findet das Zertifikat automatisch selbst:
Automatisierung der Code-Signierung mittels Cloud-HSM
Die Automatisierung der Code-Signierung ist stark gefragt, mit einem Zertifikat auf einem Token lässt sich jedoch nicht automatisch signieren; es kann auch nicht auf einem Server eingesetzt werden. Zum Glück kennen wir Dienste, die für die Automatisierung der Signierung geeignet sind. DigiCert bietet den Dienst KeyLocker bzw. Software Trust Manager an. Signaturschlüssel können Sie ebenfalls in einem Cloud-HSM in Azure oder Google Cloud aufbewahren.
Weitere Informationen zu den Möglichkeiten der Automatisierung der Code-Signierung finden Sie im Artikel Code Signing Centrum.
Überprüfung der Signatur
Nun können Sie schon signieren und Ihre Anwendung haben Sie mit der ersten vertrauenswürdigen Signatur versehen. Bestimmt möchten Sie wissen, wie die Signatur überprüft werden kann.
Die Überprüfung ermöglicht das Tool Signtool:
signtool verify C:test.exe
Oder Sie können sich die Eigenschaften der Datei in dem Windows Explorer anzeigen lassen. Das Detail der Signatur lässt sich bis zum Detail des genutzten Zertifikats "sezieren".
Detail der Signatur im Windows Explorer
Haben Sie Fragen?
Zögern Sie nicht, unseren Kundensupport zu kontaktieren, der Sie berät und Ihnen weiterhilft.
Wir danken Ihnen für Ihr Feedback zu diesem Artikel.
Es tut uns leid, dass Sie hier für Ihren Bedarf nichts Passendes gefunden haben.
Helfen Sie uns, diesen Artikel zu verbessern. Schreiben Sie uns bitte, was Sie hier erwartet und nicht erfahren haben.
Sehr geehrter Kunde,
mit dem Klick auf "ICH STIMME ZU" geben Sie uns und unseren Partnern Ihre Zustimmung zu der Nutzung von Cookies für notwendige, analytische und Marketingzwecke auf diesem Gerät. In der Einstellung können Sie selbst bestimmen, welche Cookies bearbeitet werden können und welche abgelehnt werden sollen. Notwendige Cookies werden immer gespeichert, um die Funktionalität der Webseite aufrechtzuerhalten.
In diesem Fenster können Sie Kategorien von Cookies im Einklang mit eigenen Präferenzen auswählen.
Diese Cookies sorgen für den fehlerlosen Betrieb unserer Webseiten. Sie ermöglichen zum Beispiel den Dienst in die Bestellung einzufügen, die Daten mit Rücksicht auf die Sicherheit des Webs zu speichern, sich einzuloggen usw. Die notwendigen Cookies können nicht deaktiviert werden, weil dies die Funktionalität der Webseite verletzen würde.
Dank den Präferenz-Cookies kann sich die Webseite Verschiedenes merken: Sich ändernde Informationen, wie sich die Webseite verhält oder wie sie aussieht. Es handelt sich zum Beispiel um die bevorzugte Sprache oder um die Region, in welcher Sie sich befinden.
Dank Tools wie Google Analytics können wir feststellen, welche Webseiten Sie nutzen und aus welchen Quellen und Technologien. Von diesen Daten ausgehend können wir unser Web fortlaufend optimieren, damit es für Sie möglichst benutzerfreundlich wird. Alle Daten werden anonymisiert, konkrete Nutzer können wir deshalb nicht identifizieren.
Zusammen mit Tools von Drittanbietern können wir in Partnernetzwerken Werbungen nach Ihrer Präferenz anzeigen. Sollten Sie diesem nicht zustimmen, ist höchstwahrscheinlich, dass Ihre Interessen und Präferenzen nicht berücksichtigt werden und die Werbung wird Ihnen flächenhaft angezeigt. Alle Profile Ihrer Interessen sind pseudoanonymisiert, deshalb kann Ihre Person nicht identifiziert werden.
Es tut uns leid, dass Sie hier für Ihren Bedarf nichts Passendes gefunden haben.
Helfen Sie uns, diesen Artikel zu verbessern. Schreiben Sie uns bitte, was Sie hier erwartet und nicht erfahren haben.