Diese Webseite enthält Anweisungen zur Verwendung von SSL.com OV or EV Codesignatur-Zertifikat mit SignTool von Microsoft und SSL.com SSL Manager.
Bei diesen Anweisungen wird davon ausgegangen, dass Ihr Codesignaturzertifikat installiert wurde oder dass Sie es auf einem Hardware-Token haben. Informationen zur cloudbasierten Codesignatur mit der eSigner-Plattform finden Sie im Übersichtsseite und dies Einschreibungsanleitung.
Denken Sie daran, dass es sich bei hardwarebasierten OV- und EV-Code-Signing-Zertifikaten um den privaten Schlüssel handelt existiert nur auf dem YubiKey FIPS USB-Token das wurde dir geschickt und das das Token muss beigefügt sein an den Computer, auf dem die Anwendung signiert wird. Windows-Benutzer mit YubiKey FIPS-Token sollten auch die . herunterladen und installieren YubiKey Smartcard-Minitreiber bevor Sie ihr Token verwenden.
Signieren einer ausführbaren Datei mit Yubikey
Installieren Windows SDK und SignTool
SignTool ist im Lieferumfang enthalten Windows 10-SDK. Nach der Installation befindet sich SignTool unter:
C: \ Programme (x86) \ Windows Kits \ 10 \ bin \ \ x64 \ signtool.exe
Zugriff auf SignTool über Powershell oder Eingabeaufforderung
Der Zugriff auf SignTool ist der erste Teil der Befehle sowohl in Signieren Ihrer Datei und verifizieren die digitale Signatur. Für den Zugriff auf SignTool können sowohl Powershell als auch die Eingabeaufforderung verwendet werden.
Der Zugriff auf SignTool variiert je nach verwendeter Windows-Betriebssystemversion und Windows SDK-Version. Eine der folgenden Optionen wird als erster Teil des Befehls eingefügt:
- .\signtool.exe
- .\signtool
- signtool
- signtool.exe
- „C:\Programme (x86)\Windows Kits\10\bin\10.0.26100.0\x86\signtool.exe“
Denken Sie daran, dass der private Schlüssel nur auf dem USB-Token vorhanden ist, der an Sie gesendet wurde Der Token muss angehängt sein auf den Computer, der zum Signieren der Anwendung verwendet wird.
Schild Ausführbar
Sie können eine ausführbare Datei signieren, indem Sie den folgenden Befehl im Powershell-Fenster ausführen.
. \ signtool.exe sign / fd sha256 / a "C: \ Pfad \ zu \ MyExecutable.exe"
- Das
/fdOption wählt den Digest-Algorithmus aus, der beim Signieren verwendet werden soll. Windows 10 SDK-, HLK-, WDK- und ADK-Builds 20236 und höher erfordern, dass diese Option beim Signieren festgelegt wird. SHA256 wird aus Sicherheitsgründen gegenüber SHA1 empfohlen. - Das
/aDie Option weist SignTool an, automatisch ein geeignetes Codesignaturzertifikat für Ihre ausführbare Datei zu finden. - Sie werden aufgefordert, die PIN Ihres USB-Tokens einzugeben. Wenn Sie Hilfe bei der Suche nach Ihrer PIN benötigen, lesen Sie bitte diese Anleitung.

Auswählen eines Signaturzertifikats
Geben Sie den Betreff an
Wenn Sie mehr als einen Code zum Signieren von USB-Token oder -Zertifikaten installiert haben, können Sie dies tun Geben Sie das Zertifikat an Sie möchten verwenden, indem Sie seine einschließen Subjekt Name über das /n .
Den Betreffnamen Ihres Zertifikats finden Sie mit dem Zertifikatsverwaltungstool von Microsoft. Zertifikat. Öffnen Sie das Tool über das Startmenü und suchen Sie im Ordner „Persönlich“ unter „Zertifikate“ nach Ihrem Zertifikat, wie im Bild unten gezeigt. Der Betreffname ist das Feld „Ausgestellt an“ in certmgr.
Im obigen Bild lautet der Betreff des Zertifikats example. Sie können diesen Wert in SignTool mit dem folgenden Befehl angeben.
. \ signtool.exe sign / fd sha256 / n "Beispiel" "C: \ Pfad \ zu \ MyExecutable.exe"
Geben Sie SHA1 Hash an
Wenn Sie mehrere Zertifikate mit demselben Betreffnamen haben, können Sie auch den SHA1-Hash (oder „Fingerabdruck“) eines Zertifikats verwenden, um es zum Signieren auszuwählen. Sie finden diesen Wert, indem Sie diesen Anweisungen folgen:
Öffnen Sie den Benutzerzertifikatspeicher, indem Sie certmgr.msc in der Windows-Suchleiste. Sobald das Fenster „Zertifikat-Manager“ angezeigt wird, navigieren Sie zu Personellem im linken Bereich und wählen Sie den Zertifikate Unterordner auf der rechten Seite, um Ihr Codesignaturzertifikat zu finden.
Doppelklicken Sie auf das Zertifikat, gehen Sie zu Details und scrollen Sie nach unten, um die Daumenabdruck. Kopieren Sie den Fingerabdruck und fügen Sie ihn beim Signieren des Codes in Ihren Befehl ein.
![]()
. \ signtool.exe sign / fd sha256 / sha1 THUMBPRINT "C: \ path \ to \ MyExecutable.exe"
Hinweis: Es kann vorkommen, dass mehrere Codesignaturzertifikate mit demselben Namen im Store angezeigt werden, da ein Benutzer mehrere USB-Token besitzt. Wenn Sie sich nicht sicher sind, welches Sie auswählen sollen, wählen Sie das Zertifikat mit der Seriennummer, die mit der auf Ihrer SSL.com-Bestelldetailseite angegebenen übereinstimmt. Wahrscheinlich möchten Sie das Zertifikat mit dem spätesten Ablaufdatum auswählen.
Um das zu verwendende Zertifikat vollständig zu überprüfen, befolgen Sie diese Anweisungen:
- Melden Sie sich bei Ihrem SSL.com-Konto an und klicken Sie auf Bestellungen Registerkarte. Suchen Sie Ihre Zertifikatsbestellung und klicken Sie auf herunterladen Link, um die Details Ihres Zertifikats anzuzeigen.

- Scrollen Sie nach unten und klicken Sie auf ENDEINHEITSZERTIFIKATE Sektion. Unter dem Code Signing Certificate Im Unterabschnitt sehen Sie die Seriennummer Ihres Zertifikats.

- Führen Sie eine Gegenprüfung durch. Doppelklicken Sie im Zertifikatsmanager Ihres Computers auf das Zertifikat. Klicken Sie auf Einzelheiten. Überprüfen Sie, ob die Seriennummern übereinstimmen.
Verwenden Sie eine PKCS # 12 / PFX-Datei
Wenn Sie in einer PKCS # 12-Datei (auch als PFX- oder P12-Datei bezeichnet) ein Codesignaturzertifikat und einen privaten Schlüssel haben, können Sie die Datei und ihr Kennwort in der Befehlszeile angeben:
. \ signtool.exe sign / fd sha256 / f "C: \ Pfad \ zu \ MyCertificate.pfx" / p Passwort "C: \ Pfad \ zu \ MyExecutable.exe"
Zeitstempeln
Wenn Sie Ihren Code mit einem Zeitstempel versehen, kann er nach Ablauf Ihres Codesignaturzertifikats als vertrauenswürdig eingestuft werden. Wenn Sie eine hinzufügen möchten Zeitstempel In der signierten Binärdatei können Sie dies mit SignTools tun /tr Option, auf die der Timestamp Digest-Algorithmus mit eingestellt werden sollte /td. Der Befehl im folgenden Snippet enthält einen Zeitstempel von SSL.comZeitstempeldienst beim Signieren einer ausführbaren Datei.
. \ signtool.exe sign / fd sha256 / tr http://ts.ssl.com / td sha256 / a "C: \ Pfad \ zu \ MyExecutable.exe"
/tr Option (URL des RFC 3161-Zeitstempelservers angeben), kein Frontalunterricht. /t (URL des Zeitstempelservers), die nicht mit dem Zeitstempelserver von SSL.com kompatibel ist./td ganz ohne irgendetwas tun oder drücken zu müssen. sollen folgen Sie den /tr Möglichkeit. Wenn der Zeitstempel-Digest-Algorithmus vor dem Zeitstempel-Server angegeben wird, wird der Standard-SHA-1-Algorithmus verwendet. Windows 10 SDK-, HLK-, WDK- und ADK-Builds 20236 und höher erfordern die Verwendung von /tr beim Zeitstempeln. Aus Sicherheitsgründen wird SHA256 gegenüber SHA1 empfohlen.Wenn Sie auf diesen Fehler stoßen:
The timestamp certificate does not meet a minimum public key length requirement, sollten Sie sich an Ihren Softwareanbieter wenden, um Zeitstempel von ECDSA-Schlüsseln zuzulassen.Wenn Ihr Softwareanbieter die Verwendung des normalen Endpunkts nicht zulassen kann, können Sie diesen Legacy-Endpunkt verwenden
http://ts.ssl.com/legacy um einen Zeitstempel von einer RSA-Zeitstempeleinheit zu erhalten.Andere Optionen
Weitere wichtige SignTool-Optionen sind:
/d: Fügen Sie eine Beschreibung des signierten Codes hinzu. Beispielsweise,/d "test code"./du: Fügen Sie eine URL mit einer erweiterten Beschreibung des signierten Codes hinzu. Beispielsweise,/du https://your_website.tld/project/description.
Verwenden Sie alle oben genannten Optionen (aber lassen Sie sie weg /a, /sha1den /f weil wir den Betreff des Zertifikats mit angeben /nUnsere Befehlszeile sieht folgendermaßen aus:
signtool.exe sign / n "Beispiel" / fd sha256 / tr http://ts.ssl.com / td sha256 / d "Testcode" / du https: //Ihre_Website.tld/project/description "C: \ Pfad \ to \ MyExecutable.exe "
Überprüfen Sie die Unterschrift
Verwenden Sie diesen Befehl, um Ihren signierten Code zu überprüfen (beachten Sie, dass die /pa Option muss im Befehl vorhanden sein):
. \ signtool.exe verify / pa "C: \ Pfad \ zu \ MyExecutable.exe"
Wenn Ihre Datei erfolgreich signiert wurde, sollte die folgende Ausgabe angezeigt werden:
Datei: C: \ Pfad \ zu \ MyExecutable.exe Indexalgorithmus Zeitstempel ==================================== ===== 0 sha256 RFC3161 Erfolgreich überprüft: C: \ path \ to \ MyExecutable.exe
Sie können auch überprüfen, ob eine Datei signiert wurde, indem Sie mit der rechten Maustaste auf das entsprechende Symbol klicken und auswählen Eigenschaften im Vergleich aus dem Menü, dann wählen Sie die Digitale Signaturen Tab. Zeigen Sie Details zu einer Signatur an, indem Sie sie auswählen und auf klicken Details .
Hier sehen wir, dass die Datei eine gültige digitale Signatur enthält, die von SSL Corp am 28. Juni 2020 erstellt wurde.
Signieren einer ausführbaren Datei mit SSL Manager
Wenn Sie einen grafikbasierten Ansatz bevorzugen, können Sie diesen verwenden SSL.comInhouse-Software, SSL Manager, um Ihre Dateien zu signieren. Viele Kunden bevorzugen die Verwendung SSL Manager weil es den zusätzlichen Vorteil bietet, einen einfachen Zugriff auf alle Ihre Zertifikate in einer einheitlichen Oberfläche zu haben. Anweisungen zum Herunterladen und Installieren SSL ManagerBitte beziehen Sie sich auf unsere Installationsanleitung.
Um eine ausführbare Datei zu signieren, wählen Sie zunächst Codesignatur> Sign & Timestamp Code Package ab SSL ManagerMenü.
Im Codesignaturformular können Sie die ausführbare Datei und das Codesignaturzertifikat (entweder aus einer Datei oder einem Zertifikatspeicher) sowie einen der verfügbaren Zeitstempelserver auswählen. Wenn Sie fertig sind, klicken Sie auf Schild , um Ihren Code zu unterschreiben. Sie werden aufgefordert, die PIN Ihres USB-Tokens einzugeben.
Neben der Codesignatur, SSL Manager bietet viele leistungsstarke Funktionen. Weitere Einzelheiten finden Sie unter SSL ManagerDokumentation, insbesondere das Code Signing Menü.
Code Signing mit einem Thales SafeNet (Gemalto) USB-Token
In diesem Abschnitt wird gezeigt, wie Code mit dem Codesignaturzertifikat von SSL.com, dem USB-Token von Thales SafeNet (Gemalto) und dem Safenet Authentication Client signiert wird.
Das Thales SafeNet-Token kann alle Arten von SSL.com-Codesignaturzertifikaten und deren private Schlüssel speichern. Dazu gehören Personal Identity-Codesignaturzertifikate, Organization Validation-Codesignaturzertifikate und Extended Validation-Codesignaturzertifikate.
SafeNet Authentication Client ist eine Middleware-Lösung, die das umfassende SafeNet-Portfolio an zertifikatsbasierten Authentifikatoren von Thales verwaltet. Dazu gehören eTokens, SafeNet IDPrime-Smartcards, SafeNet IDPrime Virtual und kombinierte PKI/FIDO-Geräte.
Anweisungen zum Ändern Ihres Codesignaturkennworts für Thales SafeNet (Gemalto)-Token oder zum Wiedererlangen des Zugriffs auf ein gesperrtes Token finden Sie in diesem SSL.com-Artikel: So ändern Sie Ihr Thales SafeNet/Gemalto-Token-Passwort
Voraussetzungen:
- Windows Development Kit auf Ihrem Computer installiert
- Auf Ihrem Computer ist der SafeNet Authentication Client installiert. Anweisungen finden Sie in diesem SSL.com-Handbuch: SafeNet-Authentifizierungsclient zum Herunterladen für Code Signing-Zertifikate
- Ein Thales SafeNet-Token mit einem vorinstallierten Codesignaturzertifikat von SSL.com. Das Thales SafeNet-Token muss mit den folgenden Schritten aktiviert werden:
- Suchen Sie die Seriennummer Ihres Thales-Tokens. Dies ist eine Reihe von Buchstaben und Zahlen, die auf der Oberfläche Ihres Tokens aufgedruckt ist.
- Melden Sie sich bei Ihrem SSL.com-Konto an.
- Klicken Sie auf die Bestellungen Registerkarte, gefolgt von der herunterladen Link Ihrer Zertifikatsbestellung, um die Details anzuzeigen. physische Token Aktivieren Sie Ihren Thales-Token, indem Sie seine Seriennummer in das dafür vorgesehene Feld eingeben. Nach der Aktivierung Ihres Thales-Tokens wird der physische Token Im Abschnitt „ Aktivierungs-PIN und Admin-PIN. Der Aktivierungs-PIN ist auch bekannt als die Token-Passwort und Sie werden aufgefordert, diese einzugeben, wenn Sie Ihre Datei signieren. Admin-PIN ist auch bekannt als die PUK – dies ist erforderlich, wenn in einem gesperrten Token ein neues Token-Passwort festgelegt wird.

Schritte zum Signieren von Code mit einem Thales SafeNet-Token
- verbinden Sie Ihren Thales SafeNet-Token für Ihren Computer.
- Öffne Safenet-Authentifizierungsclient.
- Konfigurieren Sie den Befehl zum Signieren Ihres Codes:
signtool sign /tr http://ts.ssl.com /td sha256 /fd sha256 /a "PFAD_DER_ZU_SIGNIERENDEN_DATEI"
Legende:
/fd sha256 Wählt den Digest-Algorithmus aus, der beim Signieren verwendet werden soll.
/tr http://ts.ssl.com gibt die Adresse des Zeitstempelservers an
/td sha256 gibt den Zeitstempel-Digest-Algorithmus an
/a weist SignTool an, automatisch ein geeignetes Codesignaturzertifikat für Ihre Datei zu finden.
signierbarer Dateipfad: Der Pfad Ihrer Datei sollte in doppelte Anführungszeichen eingeschlossen werden. Beachten Sie, dass der Name Ihrer signierbaren Datei im Pfad enthalten sein muss. Beispiel: /Testdatei.dll
Hinweis: Bei einigen Benutzern kann dieser Fehler mit dem Sign-Befehl auftreten: „Signtool“ wird nicht als interner oder externer Befehl, ausführbares Programm oder Batchdatei erkanntDie Lösung für diesen Fehler besteht darin, den Text zu entfernen signtool aus dem Befehl und ersetzen Sie ihn durch den Pfad für signtool.exe. Der Pfad sollte in doppelte Anführungszeichen eingeschlossen werden.
„C:\Programme (x86)\Windows Kits\10\Ordner\Ordner\x86\signtool.exe“ sign /tr http://ts.ssl.com/ /td sha256 /fd sha256 /a „C:\Benutzer\Admin\Dokumente\Testdateien\Testdatei.dll“
- Führen Sie Eingabeaufforderung als Administrator ein und platzieren Sie den Befehl sign. Drücken Sie anschließend Enter.

- Sie werden die Nachricht sehen Hinzufügen des zusätzlichen Stores abgeschlossen. Kurz danach, Sie werden aufgefordert, Ihre Token-Passwort. Wie in der Voraussetzungen: Das Token-Passwort ist das gleiche wie das Aktivierungs-PIN und dies kann über Ihre SSL.com-Zertifikatsbestellseite angezeigt werden. Klicken Sie auf die OK Schaltfläche, um die Codesignierung abzuschließen.

- Success! Ihre Datei ist nun signiert. Die Eingabeaufforderung benachrichtigt Sie über die erfolgreiche Signierung.

Optionen zum Signieren von Code
1. Geben Sie den Betreffnamen des Zertifikats an
Wenn Sie über mehrere USB-Token oder Zertifikate zum Signieren von Code verfügen, können Sie auswählen, welches spezifische Zertifikat verwendet werden soll, indem Sie dessen Betreffnamen über die Option /n integrieren.
Sie können den Betreffnamen Ihres Zertifikats anzeigen, indem Sie im SafeNet Authentication Client auf das Zahnradsymbol klicken, um eine erweiterte Ansicht zu erhalten. Klicken Sie anschließend auf den Pfeil für Benutzerzertifikate um alle im Token installierten Zertifikate anzuzeigenKopieren Sie den Namen des Zertifikats, das Sie verwenden möchten.

Der Signierbefehl mit dem /n Option sieht wie folgt aus. Der Betreffname Ihres Zertifikats sollte in doppelte Anführungszeichen eingeschlossen werden.
„PFAD VON SIGNTOOL.EXE“ sign /tr http://ts.ssl.com/ /td sha256 /fd sha256 /n „BETREFFNAME DES ZERTIFIKATS“ „PFAD_DER_ZU_SIGNIERENDEN_DATEI“
2. Geben Sie den Zertifikatfingerabdruck an
Wenn Sie mehrere Zertifikate mit identischen Betreffnamen besitzen, können Sie eines anhand seines SHA1-Hashes, allgemein als „Fingerabdruck“ bezeichnet, unterscheiden und zum Signieren auswählen. Ersetzen Sie dazu DAUMENABDRUCK im folgenden Befehl durch den tatsächlichen SHA1-Hash Ihres Zertifikats.
Sie können den Fingerabdruckwert Ihres Zertifikats anzeigen, indem Sie im SafeNet Authentication Client auf das Zahnradsymbol klicken, um eine erweiterte Ansicht zu erhalten. Klicken Sie anschließend auf den Pfeil für Benutzerzertifikate. Doppelklicken Sie auf das Zertifikat, das Sie verwenden möchten. Klicken Sie auf das Details Scrollen Sie schließlich nach unten zum Daumenabdruck Feld.
![]()
Ersetzen Sie im Signierbefehl den Text DAUMENABDRUCK mit dem tatsächlichen Wert Ihres Zertifikatsfingerabdrucks.
„PFAD VON SIGNTOOL.EXE“ sign /tr http://ts.ssl.com/ /td sha256 /fd sha256 /SHA1 THUMBPRINT „PFAD_DER_ZU_SIGNIERENDEN_DATEI“
Überprüfen der Signatur
Sie können die angewendete digitale Signatur überprüfen, indem Sie mit der rechten Maustaste auf die signierte Datei klicken, um ihre Eigenschaften anzuzeigen.
- Klicken Sie auf die Digitale Signaturen Bewegen Sie die Maus über den Unterschriftenliste und klicken Sie auf den angezeigten Namen Ihres Zertifikats, um es hervorzuheben. Klicken Sie auf das Details Feld, um fortzufahren.

- Sie können den Namen des Zertifikats sehen, das zum Signieren der Datei verwendet wurde, sowie das Datum und die Uhrzeit der Signierung und des Zeitstempels.

HINWEISPrivate Schlüssel für SSL-Codesignaturzertifikate kann nicht exportiert werden und Zertifikate können nicht als herunterladbare .pfx-Dateien ausgegeben werden.Zertifikate müssen mithilfe einer zugelassenen sicheren Methode, wie z. B. einem FIPS 140-2-validierter YubiKey-USB-TokenSSL-Zertifikate eSigner Cloud-Signaturdienst, oder eine Unterstütztes Cloud-HSM.




