Verwenden Ihres Codesignaturzertifikats

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.

OV und EV-Codesignaturzertifikate sollten nicht manuell auf Ihrem Computer installiert werden, da dies zu Konfigurationsproblemen führen kann. Zertifikate, die auf YubiKeys von SSL.com geliefert werden, können ohne zusätzliche Installation außer der Installation der . verwendet werden YubiKey Smartcard-Minitreiber und das Token an Ihren Computer anschließen. Zertifikate bestellt über Fernbescheinigung sollte heruntergeladen und auf dem Gerät installiert werden, das den privaten Schlüssel enthält (z. B. YubiKey FIPS oder andere unterstützte Hardware), nicht auf dem Zertifikatspeicher Ihres Computers.
Wenn Sie Windows 10-Treiber mit einem EV-Codesignaturzertifikat signieren möchten, müssen Sie dies tun Registrieren mit dem Windows Hardware Developer Program.
Anweisungen zur Verwendung Ihres OV / IV- oder EV-Codesignaturzertifikats mit Java finden Sie in unserem Java Code Signing-Leitfaden.

Signieren einer ausführbaren Datei mit SignTool

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

Startseite Powershell

Starten Sie eine Powershell Befehlsfenster durch Suchen nach "Powershell" in der Startseite Menü und klicken Sie auf die Desktop-Anwendung.

Powershell ist eine Befehlszeilenschnittstelle zu den Kerndiensten von Windows. Sie können damit SignTool ausführen und Ihren Code signieren.

Für EV Code Schließen Sie zum Signieren Ihren USB-Token an Ihren Computer an (falls Sie dies noch nicht getan haben). Wenn Sie eSigner verwenden, installieren Sie es eSigner Cloud Key-Adapter

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 an einen Computer, der zum Signieren der Anwendung verwendet wird. Dieser Schritt sollte übersprungen werden, wenn Sie ein OV-Codesignaturzertifikat verwenden.

Schild Ausführbar

Sie können eine ausführbare Datei signieren, indem Sie den folgenden Befehl im Powershell-Fenster ausführen. Wenn Sie die eSigner-Cloud-Signierung mit signtool.exe verwenden, stellen Sie sicher, dass Sie es installieren eSigner-CKA

. \ signtool.exe sign / fd sha256 / a "C: \ Pfad \ zu \ MyExecutable.exe"
  • Das /fd Option 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 /a Die Option weist SignTool an, automatisch ein geeignetes Codesignaturzertifikat für Ihre ausführbare Datei zu finden.
  • Wenn Sie ein EV-Codesignaturzertifikat verwenden, werden Sie aufgefordert, die PIN Ihres USB-Tokens einzugeben. Wenn Sie Hilfe beim Auffinden Ihrer PIN benötigen, wenden Sie sich bitte an diese Anleitung.Pin eingeben
Hinweis: Wenn Sie Codedateien signieren, die in einem Installationsprogramm enthalten sein werden (z. B. eine Windows MSI-Datei), müssen Sie diese Dateien vor dem Erstellen des Installationsprogramms signieren und anschließend die Installationsdatei selbst signieren.

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 .

Sie können den Betreff Ihres EV CS-Zertifikats mit dem Zertifikatverwaltungstool von Microsoft ermitteln Zertifikat. Öffnen Sie das Tool über das Startmenü und suchen Sie im Ordner "Persönlich" unter "Zertifikate" nach Ihrem EV CS-Zertifikat (siehe Abbildung unten). 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 Betreff haben, können Sie auch den SHA1-Hash (oder „Fingerabdruck“) eines Zertifikats verwenden, um es zum Signieren auszuwählen. Ersetzen THUMBPRINT im folgenden Befehl mit dem tatsächlichen SHA1-Hash Ihr Zertifikat. Sie finden diesen Wert, indem Sie die Zertifikatdetails in certmgr anzeigen und nach dem suchen Thumbprint Feld (stellen Sie sicher, dass Leerzeichen aus dem Fingerabdruck entfernt werden, bevor Sie sie in Ihrem Befehl verwenden).

. \ signtool.exe sign / fd sha256 / sha1 THUMBPRINT "C: \ path \ to \ MyExecutable.exe"

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"
Hinweis: Stellen Sie sicher, dass Sie SignTools verwenden /tr Option (URL des RFC 3161-Zeitstempelservers angeben), nicht /t (URL des Zeitstempelservers), die nicht mit dem Zeitstempelserver von SSL.com kompatibel ist.
Hinweis: Das /td zu erhalten 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.
Hinweis: Standardmäßig unterstützt SSL.com Zeitstempel von ECDSA-Schlüsseln.

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, /sha1, oder /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 Ferienhäuser 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 .

Digitale Signaturen

Hier sehen wir, dass die Datei eine gültige digitale Signatur enthält, die von SSL Corp am 28. Juni 2020 erstellt wurde.

Details zur digitalen Signatur

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 für SSL ManagerMenü.

Sign & Timestamp Code-Paket

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 Schaltfläche zum Signieren Ihres Codes. Wenn Sie ein Zertifikat aus einer PFX-Datei laden, müssen Sie das Kennwort der Datei eingeben. Wenn Sie ein EV-Codesignaturzertifikat verwenden, werden Sie 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ü.

Vielen Dank, dass Sie sich für SSL.com entschieden haben! Bei Fragen wenden Sie sich bitte per E-Mail an Support@SSL.com, Anruf 1-877-SSL-SECUREoder klicken Sie einfach auf den Chat-Link unten rechts auf dieser Seite.

Abonnieren Sie den Newsletter von SSL.com

Verpassen Sie keine neuen Artikel und Updates von SSL.com

Bleiben Sie informiert und sicher

SSL.com ist ein weltweit führendes Unternehmen im Bereich Cybersicherheit, PKI und digitale Zertifikate. Melden Sie sich an, um die neuesten Branchennachrichten, Tipps und Produktankündigungen von zu erhalten SSL.com.

Wir würden uns über Ihr Feedback freuen

Nehmen Sie an unserer Umfrage teil und teilen Sie uns Ihre Meinung zu Ihrem letzten Kauf mit.