Wie signiere ich eine EXE-Datei mit einem Code Signing-Zertifikat?

Exe-Datei signieren

Wenn Sie Software für Windows entwickeln oder vertreiben, sollten Sie wissen , wie man eine EXE-Datei signiert, um sicherzustellen, dass Ihre Anwendungen vertrauenswürdig und frei von Sicherheitswarnungen sind. Das Signieren von Code überprüft die Authentizität und Integrität einer ausführbaren Datei und gibt dem Benutzer die Sicherheit, dass die Software aus einer legitimen Quelle stammt und nicht manipuliert wurde. Ohne eine gültige digitale Signatur kann Windows die Anwendung blockieren oder Sicherheitswarnungen anzeigen, was es schwierig macht, das Vertrauen der Benutzer zu gewinnen.

In diesem Artikel erfahren Sie, wie Sie eine ausführbare Datei signieren, angefangen bei den Voraussetzungen und der Schritt-für-Schritt-Anleitung bis hin zur Überprüfung und den Vorteilen des Signierens einer EXE-Datei.

Am Ende dieses Leitfadens werden Sie wissen, wie Sie ein Code-Signatur-Zertifikaterhalten und installieren , wie Siedas Microsoft signtool.exe verwenden, um eine EXE-Datei zu signieren, und wie Sie überprüfen, ob Ihre ausführbare Datei korrekt signiert ist. Lassen Sie uns beginnen.


Anforderungen vor dem Signieren einer EXE oder Anwendung

Bevor Sie eine EXE-Datei signieren können, müssen Sie über die richtigen Tools und Einstellungen verfügen. Beim Signieren von Code geht es nicht nur um das Anbringen einer digitalen Signatur. Es erfordert ein gültiges Zertifikat, eine sichere Schlüsselspeicherung und eine geeignete Signier-Software. Im Folgenden gehen wir die wichtigsten Anforderungen Schritt für Schritt durch, von der Auswahl des richtigen Zertifikats bis hin zur Einrichtung der erforderlichen Software.

1. Besorgen Sie sich ein Code Signing-Zertifikat

Zunächst benötigen Sie ein Code Signing-Zertifikat, das von einer vertrauenswürdigen Zertifizierungsstelle (CA) wie DigiCert oder Sectigo. Dieses Zertifikat verifiziert Ihre Identität als Softwarehersteller.

Seit dem 1. Juni 2023 müssen alle Code Signing-Zertifikate den privaten Schlüssel auf sicherer Hardware speichern. Daher können Sie den privaten Schlüssel nicht auf Ihrem lokalen Computer erzeugen oder aufbewahren. Stattdessen muss er auf einem nach FIPS 140-2 Level 2+ zugelassenen Gerät gespeichert werden, z. B. einem SafeNet USB-Token oder einem Hardware-Sicherheitsmodul (HSM).

Der von Ihnen gewählte Zertifikatstyp wirkt sich darauf aus, wie Sie die Schlüsselspeicherung handhaben:

  • EV Code Signing-Zertifikate werden immer mit einem von der Zertifizierungsstelle ausgestellten SafeNet USB-Token geliefert. Dieses physische Gerät enthält Ihren privaten Schlüssel und wird jedes Mal benötigt, wenn Sie eine EXE-Datei signieren.
  • Standard Code Signing-Zertifikate enthalten keinen USB-Token. Stattdessen können Sie entweder einen Cloud-basierten Signierdienst (wie z.B. KeyLocker von DigiCert) verwenden oder den privaten Schlüssel auf Ihrem eigenen HSM speichern, wenn Ihre CA dies erlaubt.

2. Einrichten Ihrer Signierumgebung

Sobald Sie Ihr Zertifikat und Ihr sicheres Speichermedium haben, benötigen Sie die richtigen Tools. Das Windows SDK (Software Development Kit) enthält das notwendige Signierprogramm, signtool.exe, mit dem Sie die digitale Signatur anwenden können. Falls es noch nicht installiert ist, können Sie die neueste Version von der offiziellen Website von Microsoft herunterladen.

Signtool Installationsprogramm

Wenn Sie ein EV Code Signing-Zertifikat verwenden, müssen Sie auch die SafeNet Authentication Client Software installieren. Diese ermöglicht es Ihrem System, mit dem USB-Token zu kommunizieren und den privaten Schlüssel sicher abzurufen. Wenn Sie mit einem HSM signieren, stellen Sie sicher, dass das Gerät ordnungsgemäß eingerichtet ist und dass Ihr Zertifikat von Ihrer Signierumgebung aus zugänglich ist.

Safenet

Sie müssen außerdem über Administratorrechte auf Ihrem Computer verfügen. Für das Signieren von Code sind erhöhte Rechte erforderlich. Führen Sie daher die Eingabeaufforderung oder PowerShell als Administrator aus, bevor Sie Signierbefehle ausführen.


3. Warum Zeitstempel wichtig sind

Ein wichtiger Bestandteil des Signiervorgangs ist der Zeitstempel, der sicherstellt, dass Ihre digitale Signatur auch nach Ablauf Ihres Zertifikats gültig bleibt. Ohne einen Zeitstempel wird Windows Ihre signierte EXE als nicht vertrauenswürdig behandeln, sobald das Zertifikat sein Ablaufdatum erreicht hat.

Wenn Sie Ihre Datei signieren, kontaktiert das Signierprogramm einen Zeitstempel-Server, der das genaue Datum und die Uhrzeit der Signierung aufzeichnet. Dies beweist, dass Ihre Datei signiert wurde, während das Zertifikat noch gültig war. Die meisten Zertifizierungsstellen bieten kostenlose Zeitstempel-Dienste an. Wenn Sie keinen Zeitstempel hinzufügen, sehen die Benutzer Warnungen über eine abgelaufene Signatur, was Ihre Anwendung unsicher erscheinen lässt.


4. Letzte Vorbereitungen vor der Unterzeichnung

Bevor Sie Ihre EXE signieren, vergewissern Sie sich, dass Ihre Signierwerkzeuge, Treiber und Ihr sicheres Speichermedium richtig konfiguriert sind. Wenn Sie ein HSM verwenden, stellen Sie sicher, dass der Schlüssel zugänglich und richtig konfiguriert ist. Wenn Sie einen SafeNet USB-Token verwenden, stellen Sie sicher, dass er eingesteckt ist und der SafeNet Authentication Client läuft.

Wenn Sie alles vorbereitet haben, sind Sie bereit, Ihre EXE-Datei zu signieren. Der Prozess mag anfangs kompliziert erscheinen, aber wenn Sie diese Schritte befolgen, stellen Sie sicher, dass Ihre Software von Windows als vertrauenswürdig eingestuft wird, verhindern Sicherheitswarnungen und versichern den Benutzern, dass die Installation Ihrer Anwendung sicher ist.


Schritt-für-Schritt-Anleitung zum Signieren einer EXE-Datei

Nachfolgend finden Sie eine ausführliche, aktuelle Anleitung zum Signieren einer EXE, die jetzt auf einem Hardware-Sicherheitsmodul (HSM) oder einem USB-Token gespeichert sein muss, um die Sicherheit zu erhöhen.

Schritt 1: Setzen Sie Ihr HSM oder Ihren USB-Token ein

Bevor Sie eine EXE signieren können, müssen Sie das Hardware-Token oder HSM anschließen, das Ihr Code Signing-Zertifikat und Ihren privaten Schlüssel enthält. Zertifizierungsstellen verlangen jetzt, dass alle Code Signing-Zertifikate auf FIPS 140-2 Level 2 zugelassenen Geräten wie einem SafeNet USB-Token oder YubiKey HSM gespeichert werden.

Schritte zum Verbinden Ihres Hardware-Tokens:

  1. Schließen Sie das HSM oder den USB-Token an Ihren Windows-Rechneran .
  2. Wenn Sie dazu aufgefordert werden, installieren Sie die erforderlichen Treiber (die meisten Geräte werden automatisch installiert).
  3. Stellen Sie sicher, dass Sie den SafeNet Authentication Client oder die erforderliche HSM-Software installiert haben.

Wenn Sie ein Cloud-basiertes HSM (wie Azure Key Vault oder AWS CloudHSM) verwenden, stellen Sie sicher, dass Ihre Anmeldedaten korrekt eingerichtet sind, bevor Sie fortfahren.


Schritt 2: Öffnen Sie die Eingabeaufforderung als Administrator

Da für das Signieren Systemberechtigungen erforderlich sind, müssen Sie die Eingabeaufforderung (cmd.exe) oder die PowerShell mit Administratorrechten verwenden.

Schritte zum Öffnen der Eingabeaufforderung als Administrator:

  1. Klicken Sie auf das Menü Start und geben Sie cmd ein.
  2. Klicken Sie mit der rechten Maustaste auf Eingabeaufforderung und wählen Sie Als Administrator ausführen.

Wenn Sie PowerShell bevorzugen, führen Sie die gleichen Schritte aus, geben aber stattdessen PowerShell ein.


Schritt 3: Suchen Sie SignTool

SignTool ist ein Dienstprogramm von Microsoft, das im Windows SDK enthalten ist und zum Signieren von ausführbaren Dateien erforderlich ist.

Finden Sie SignTool auf Ihrem System:

Der Speicherort von SignTool hängt von der installierten Windows SDK-Version ab. Sie finden es in:

C:\Programmdateien (x86)\Windows

Kits\10\bin\10.0.22621.0\x64\signtool.exe

Ersetzen Sie 10.0.22621.0 bei Bedarf durch Ihre installierte SDK-Version.

Signtool Pfad

Schritt 4: Signieren Sie die EXE mit SignTool

Nun, da alles eingerichtet ist, können Sie Ihre EXE-Datei mit SignTool signieren. Nachfolgend finden Sie ein Beispiel für den korrekten Befehl zum Signieren mit einem Zeitstempel. Passen Sie es entsprechend an.

signtool sign /tr http://timestamp.digicert.com /td SHA256 /fd SHA256 /a "C:\path\to\yourfile.exe"

Erläuterung des Befehls:

  • /tr http://timestamp.digicert.com – Gibt die URL des RFC 3161 Zeitstempel-Servers an (ersetzen Sie diese durch den Server Ihrer Zertifizierungsstelle).
  • /td SHA256 – Legt SHA-256 als Algorithmus für den Zeitstempel-Digest fest.
  • /fd SHA256 – Legt SHA-256 als Algorithmus für den Dateidigest fest (moderne Windows-Versionen erfordern dies).
  • /a – Wählt automatisch das richtige Code Signing-Zertifikat aus.
  • “C:\path\to\IhreDatei.exe” – Ersetzen Sie durch den tatsächlichen Pfad zu Ihrer EXE-Datei.

Schritt 5: Geben Sie das Passwort ein (falls erforderlich)

Wenn Ihr HSM oder USB-Token eine Authentifizierung erfordert, wird ein Popup-Fenster angezeigt, in dem Sie nach Ihrem Passwort oder Ihrer PIN gefragt werden.

Was Sie als nächstes tun sollten:

  • Geben Sie das Passwort für Ihr SafeNet-Token (oder ein anderes HSM) ein.
  • Wenn Sie mehrere Zertifikate besitzen, fordert SignTool Sie möglicherweise auf, das richtige auszuwählen.

Hinweis: Wenn Sie ein Cloud-basiertes HSM verwenden, müssen Sie sich möglicherweise stattdessen über API-Zugangsdaten oder eine sichere PIN authentifizieren.


Überprüfen Sie die signierte EXE-Datei

Nachdem Sie Ihre EXE signiert haben, überprüfen Sie, ob die Signatur ordnungsgemäß angewendet wurde und einen Zeitstempel enthält. Hier sehen Sie, wie Sie das überprüfen können:

1. Dateieigenschaften prüfen

  1. Suchen Sie die signierte EXE-Datei auf Ihrem Computer.
  2. Klicken Sie mit der rechten Maustaste auf die Datei und wählen Sie Eigenschaften.
  3. Gehen Sie auf die Registerkarte Digitale Signaturen.
  4. Wenn die Signatur erfolgreich war, wird die Signatur zusammen mit einem Zeitstempel angezeigt. Klicken Sie auf Details, um zu bestätigen, dass die Meldung Diese digitale Signatur ist OK lautet.

2. Verwenden Sie Poweshell zur Verifizierung

Für eine genauere Prüfung können Sie Windows Powershell verwenden.

  1. Öffnen Sie PowerShell (Win + X → PowerShell).
  2. Führen Sie den Befehl aus:

    Get-AuthenticodeSignature "C:\Windows\System32\cmd.exe"

    Powershell Signaturüberprüfung

Ersetzen Sie “cmd/exe” durch Ihre Exe-Datei.

Dadurch werden Details zur Signatur angezeigt, einschließlich der Zertifikatskette und des Zeitstempels. Wenn die Signatur ungültig ist oder fehlt, wird sie von Windows gekennzeichnet.

3. Test auf einem anderen System

Versuchen Sie zur zusätzlichen Sicherheit, die signierte EXE auf einen anderen Computer herunterzuladen und auszuführen. Wenn alles korrekt ist, sollte Windows sie als vertrauenswürdige Anwendung erkennen, ohne Sicherheitswarnungen anzuzeigen. Wenn Sie diese Schritte befolgen, können Sie sicherstellen, dass Ihre EXE korrekt signiert und für die sichere Verteilung bereit ist.


Warum sollten Sie eine EXE-Datei signieren?

Beim Signieren von Windows-Anwendungen geht es nicht nur um Sicherheit, sondern auch um Vertrauen, Schutz und die Gewährleistung eines reibungslosen Ablaufs Ihrer Software. Hier sind einige Gründe, eine ausführbare Datei zu signieren:

  • Benutzer vertrauen signierter Software. Wenn eine EXE-Datei nicht signiert ist, gibt Windows Sicherheitswarnungen aus, und manche Systeme blockieren sie sogar vollständig. Eine verifizierte Signatur von einer vertrauenswürdigen Zertifizierungsstelle gibt dem Benutzer die Gewissheit, dass die Datei sicher ist und nicht manipuliert wurde.
  • Sie verhindert unautorisierte Änderungen. Einmal signiert, verhält sich eine EXE wie ein versiegeltes Paket. Wenn jemand versucht, sie zu verändern, sei es um Malware einzuschleusen oder den Code zu modifizieren, wird die Signatur gebrochen und Windows markiert die Datei als nicht vertrauenswürdig.
  • Es reduziert die Microsoft SmartScreen-Warnungen. SmartScreen ist aggressiv gegenüber nicht signierter Software und zeigt Warnungen an, die den Benutzer vor der Installation zurückschrecken lassen. Wenn Sie Ihre EXE signieren, insbesondere mit einem Extended Validation (EV) Code Signing-Zertifikat, werden diese Warnungen deutlich reduziert und die Installation wird reibungsloser.
  • Sie ist für die Verteilung in Unternehmen unerlässlich. In vielen Unternehmensumgebungen wird die Ausführung unsignierter Software in ihren Netzwerken blockiert. Eine signierte EXE entspricht den Sicherheitsrichtlinien, so dass sie problemlos verteilt werden kann.
  • Durch den Zeitstempel bleibt die Signatur gültig. Ohne einen Zeitstempel wird eine Signatur ungültig, sobald das Zertifikat abläuft. Mit einem Zeitstempel bleibt die Signatur auch nach dem Ablauf gültig und stellt sicher, dass Ihre Software weiterhin funktioniert.

Signieren Sie Ihre EXE mit Zuversicht – Holen Sie sich ein Code Signing Zertifikat

Sobald Sie wissen, wie Sie eine EXE-Datei signieren und Ihre Software vor Sicherheitswarnungen schützen können, ist der nächste Schritt die Beschaffung des richtigen Code Signing-Zertifikats. Egal, ob Sie ein unabhängiger Entwickler oder ein Unternehmen sind, das Signieren Ihrer EXE sorgt für Vertrauen, reibungslose Installationen und Schutz vor Manipulationen. Ohne eine gültige Signatur kennzeichnet Windows Ihre Software und erschwert den Benutzern die Installation und Ausführung.

Bei SSL Dragon bieten wir OV- und EV-Code Signing-Zertifikate von Top-Anbietern wie DigiCert, Sectigo und GoGetSSL. Sie brauchen eine einfache Lösung? Entscheiden Sie sich für die Validierung für Einzelpersonen oder Organisationen. Möchten Sie eine bessere Reputation und weniger SmartScreen-Warnungen? Dann ist die erweiterte Validierung genau das Richtige für Sie. Entscheiden Sie sich, signieren Sie Ihre Software selbstbewusst und lassen Sie Sicherheitswarnungen der Vergangenheit angehören.

Sparen Sie 10% auf SSL-Zertifikate, wenn Sie noch heute bestellen!

Schnelle Ausstellung, starke Verschlüsselung, 99,99% Browser-Vertrauen, engagierter Support und 25-tägige Geld-zurück-Garantie. Gutscheincode: SAVE10

A detailed image of a dragon in flight
Geschrieben von

Erfahrener Content-Autor, spezialisiert auf SSL-Zertifikate. Verwandeln Sie komplexe Cybersicherheitsthemen in klare, ansprechende Inhalte. Tragen Sie durch wirkungsvolle Narrative zur Verbesserung der digitalen Sicherheit bei.