Diese Webseite enthält Anweisungen zur Verwendung von SSL.com OV or EV Codesignatur-Zertifikat mit SignTool von Microsoft und SSL.com SSL Manager.
Diese Anweisungen gehen davon aus, dass Ihr OV-Codesignaturzertifikat installiert wurde oder dass Sie ein EV-Zertifikat auf einem Hardware-Token haben. Informationen zum Cloud-basierten EV Code Signing unter Verwendung der eSigner-Plattform finden Sie unter Übersichtsseite und dies Einschreibungsanleitung.
Denken Sie daran, dass für hardwarebasierte EV-Codesignaturzertifikate der private Schlüssel verwendet wird 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 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
Start Powershell
Starten Sie eine Powershell Befehlsfenster durch Suchen nach "Powershell" in der Start 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"
- Die
/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. - Die
/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.
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"
/tr
Option (URL des RFC 3161-Zeitstempelservers angeben), nicht /t
(URL des Zeitstempelservers), die nicht mit dem Zeitstempelserver von SSL.com kompatibel ist./td
Option 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
, /sha1
bezeichnet, oder /f
weil wir den Betreff des Zertifikats mit angeben /n
Unsere 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 Immobilien 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 von 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 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ü.