So automatisieren Sie die EV-Code-Signierung mit SignTool.exe oder Certutil.exe unter Verwendung von eSigner CKA (Cloud Key Adapter)

Verwandte Inhalte

Willst du weiter lernen?

Abonnieren Sie den Newsletter von SSL.com, bleiben Sie informiert und sicher.

Diese Anleitung zeigt, wie Sie eSigner CKA installieren und zum automatischen und manuellen Signieren von Code auf SignTool verwenden. 

eSigner CKA (Cloud Key Adapter) ist eine Windows-basierte Anwendung, die die CNG-Schnittstelle (KSP Key Service Provider) verwendet, um Tools wie certutil.exe und signtool.exe zu ermöglichen, die mit dem eSigner Cloud Signature Consortium (CSC) kompatible API für Codesignaturvorgänge in Unternehmen zu verwenden. Es verhält sich wie ein virtuelles USB-Token und lädt die Codesignaturzertifikate in den Zertifikatsspeicher.

eSigner CKA bietet flexible Optionen zur Automatisierung von Signaturen in CI/CD-Prozessen, die mit einem physischen USB-Token nicht vorhanden sind. Eine Anleitung zur Verwendung von eSigner CKA für die automatische Code-Signierung in CI/CD-Tools wie CircleCI, GitHub Actions, Gitlab CI und Travis CI finden Sie auf dieser Seite: So integrieren Sie eSigner CKA mit CI/CD-Tools für automatisiertes Code Signing.

HINWEIS 

Dieses Lehrmaterial erfordert Folgendes: 

  1. Ausgestelltes EV Code Signing-Zertifikat. 
  2. EV Code Signing-Zertifikat muss derzeit bei eSigner registriert sein. Sollte dies nicht der Fall sein, verweisen Sie bitte darauf Leitartikel
  3. Eine installierte Authentifizierungs-App auf Ihrem Mobiltelefon wie die Google Authenticator-App.

 

Benutzer können Code mit der Extended Validation Code Signing-Funktion von eSigner signieren. Klicken Sie unten für weitere Informationen.

ERFAHREN SIE MEHR

Formulieren Sie den Befehl 

Komponenten des Befehls 

Sowohl für die manuelle als auch für die automatische Codesignierung müssen Sie den Befehl eingeben SignToolDer Befehl enthält:

  1. Der Speicherort von SignTool (Befehlszeilentool, das für die digitale Signatur einer Datei zuständig ist und die Signatur überprüft), eingeschlossen in doppelte Anführungszeichen: „C:\Programme (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe“
  2. Die /fd sha256 Option, die den Hash-Algorithmus angibt
  3. Die /tr http://ts.ssl.com Option, die die Zeitstempel-Serveradresse angibt
  4. /td sha256 Option, die den Zeitstempel-Digest-Algorithmus angibt
  5. Die /sha1 -Option, die den Fingerabdruck angibt, den SignTool verwendet, um das entsprechende Codesignaturzertifikat aus dem Schlüsselspeicher zu finden
  6. Der eigentliche Fingerabdruck des Zertifikats
  7. Der Pfad der zu signierenden Datei, eingeschlossen in doppelte Anführungszeichen: „SIGNABLE FILE PATH“

Insgesamt sollte der Befehl wie folgt aussehen: 

„C:\Programme (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe“ signieren /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 Zertifikatfingerabdruck „ SIGNIERBARER DATEIPFAD“

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.

Lokalisieren Ihres Zertifikat-Fingerabdrucks

Später, nach der Installation von eSigner CKA und dem Hinzufügen Ihres EV Code Signing-Zertifikats zur Speicher für Benutzerzertifikate, können Sie den Fingerabdruck Ihres EV Code Signing-Zertifikats überprüfen, indem Sie auf drücken Windows-Taste + R und dann eintippen certmgr.msc um auf den Speicher für Benutzerzertifikate zuzugreifen. Wenn das Zertifikat-Manager-Fenster erscheint, klicken Sie auf die Unsere Ordner auf der linken Seite und wählen Sie dann den Zertifikate Unterordner auf der rechten Seite, um Ihr EV Code Signing-Zertifikat zu finden.

Doppelklicken Sie auf das Zertifikat. Wählen Sie die Details aus und scrollen Sie dann nach unten, um den Daumenabdruck anzuzeigen. Kopieren Sie den Fingerabdruck und fügen Sie ihn beim Signieren von Code in Ihre Befehlszeile ein.

Manuelle Code-Signierung

Installieren Sie eSigner CKA

Wählen Sie bei der Auswahl des Installationsmodus Manuelle Code-Signierung und klicken Sie dann auf die Schaltfläche OK.

Melden Sie sich beim eSigner CKA-Programm an

Öffnen Sie nach der Installation von eSigner CKA das Programm und melden Sie sich mit dem Benutzernamen und Passwort Ihres SSL.com-Kontos an.

Nach erfolgreicher Anmeldung können Sie den Namen der Entität sehen, für die das EV-Codesignaturzertifikat ausgestellt wurde, die Seriennummer, das Ablaufdatum und die EVCS (Extended Validation Code Signing) Akronym.

Schreiben Sie die Befehlszeile in den Texteditor

Zur Erinnerung: Die Befehlszeile für Codesignierung sieht wie folgt aus: 

„C:\Programme (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe“ signieren /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 Zertifikatfingerabdruck „ SIGNIERBARER DATEIPFAD“

Nachdem Sie die Befehlszeile in Ihrem Texteditor geschrieben und gedrückt haben Enter, sehen Sie die Nachricht Zusätzliches Geschäft hinzugefügt. Daraufhin erscheint ein Fenster, in dem Sie aufgefordert werden, den Benutzernamen und das Passwort Ihres SSL.com-Kontos einzugeben.

Geben Sie das Einmalpasswort (OTP) ein 

Ein One Time Password (OTP) für Ihr eSigner-registriertes EV Code Signing-Zertifikat wird an Ihre Authenticator-App gesendet. Nach erfolgreicher Eingabe zeigt die Eingabeaufforderung an, dass Ihre Datei erfolgreich signiert wurde.

Überprüfen Sie die digitale Signatur der Datei

Nach erfolgreicher Codesignierung können Sie nun die Details der digitalen Signatur auf der Datei überprüfen. Klicken Sie mit der rechten Maustaste auf die signierte Datei, klicken Sie auf Ferienhäuser, gefolgt von der Digitale Signaturen Tab. Hier sehen Sie den Namen des Unterzeichners, den verwendeten Digest-Algorithmus und den Zeitstempel der Signatur. Drücke den Details Schaltfläche, um weitere Informationen über den signierten Code zu erhalten.

Beim Klicken Details, können Sie die Informationen lesen Diese digitale Signatur ist in Ordnung. Fahren Sie mit dem Klicken fort Zertifikat anzeigen .

Nach einem Klick auf die Zertifikat anzeigen Schaltfläche lesen Sie Informationen, die darauf hinweisen, dass das für die signierte Datei ausgestellte digitale Zertifikat sicherstellt, dass sie vom Herausgeber stammt, und sie nach der Veröffentlichung vor Änderungen schützt.

Automatisierte Code-Signierung

Installieren Sie eSigner CKA

Wählen Sie bei der Auswahl des Installationsmodus Automatisierte Code-Signierung und klicken Sie dann auf die Schaltfläche OK.

Speichern Sie die Hauptschlüsseldatei

Es erscheint ein Hinweis, der erklärt, wie wichtig es ist, die Hauptschlüsseldatei zu sichern. Bitte lesen Sie es und klicken Sie dann auf die Schaltfläche OK.

Daraufhin öffnet sich ein Fenster, in dem Sie auswählen können, wo Sie die Hauptschlüsseldatei speichern möchten.

Geben Sie den Benutzernamen und das Passwort Ihres SSL.com-Kontos ein

Geben Sie den Benutzernamen und das Passwort Ihres SSL.com-Kontos ein.

Geben Sie Ihren eSigner ein Zeitbasiertes Einmalpasswort (TOTP)

Geben Sie dann Ihr zeitbasiertes Einmalpasswort (TOTP) ein. Sie finden Ihr TOTP in den Bestelldetails des EV Code Signing-Zertifikats in Ihrem SSL.com-Konto. Geben Sie die 4-stellige PIN ein, die Sie zuvor festgelegt haben, als Sie Ihre Bestellung für eSigner registriert haben, und klicken Sie dann auf QR-Code anzeigen Taste, um das TOTP anzuzeigen.

Ihr TOTP wird auf einem Feld mit der Bezeichnung angezeigt Geheim Code. Kopieren Sie das TOTP, fügen Sie es auf der TOTP-Geheimnis Feld des eSigner CKA-Fensters und klicken Sie dann auf OK Schaltfläche, um es zu speichern. 

Nachdem Sie Ihre SSL.com-Kontoanmeldeinformationen und TOTP eingegeben haben, können Sie die Details Ihres EV Code Signing-Zertifikats anzeigen. Falls Sie sich entscheiden, Ihr TOTP zu aktualisieren, fügen Sie das neue TOTP in das zugewiesene Feld ein und klicken Sie dann Gespeichert.

Schreiben Sie die Befehlszeile in den Texteditor

Zur Erinnerung: Die Befehlszeile für Codesignierung sieht wie folgt aus: 

C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe“ Zeichen /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 Fingerabdruck des Zertifikats „SIGNABLE DATEIPFAD"

Öffnen Eingabeaufforderung und Platzieren Sie die Befehlszeile. Nachdem Sie die Eingabetaste gedrückt haben, wird der Hinweis angezeigt Zusätzliches Geschäft hinzugefügt.

Nach einigen Sekunden sehen Sie den Hinweis Erfolgreich unterschrieben. Dies zeigt an, dass Ihre Datei automatisiert signiert wurde, ohne dass zusätzliche OTPs erforderlich sind. 

Überprüfen Sie das Vorhandensein der digitalen Signatur in Ihrer Datei

Öffnen Sie den Ordnerspeicherort Ihrer signierten Datei. Klicken Sie mit der rechten Maustaste darauf und klicken Sie dann Ferienhäuser. Klicken Sie auf die Registerkarte Digitale Signaturen und hier sehen Sie, dass der verwendete sichere Hash-Algorithmus 256 Bit hat. Klicken Sie auf das unmittelbare Feld, das den Namen des Unterzeichners, den Digest-Algorithmus und den Zeitstempel anzeigt. Nachdem es hervorgehoben wurde, fahren Sie fort, auf das zu klicken Details .

Ein Pop-up-Fenster zeigt dann an, dass die digitale Signatur der Datei gültig ist, und gibt den genauen Zeitpunkt an, zu dem sie signiert wurde. Drücke den Zertifikat anzeigen klicken, um weitere Informationen über das ausgestellte digitale EV Code Signing-Zertifikat anzuzeigen. 

Sie sehen Informationen zum EV Code Signing-Zertifikat, die besagen, dass es Sie als Ersteller der ausführbaren Datei validiert und Ihre Datei vor Manipulationen schützt. 

So testen Sie eSigner CKA mit Ihrem Sandbox-Konto

Installieren Sie eSigner CKA

Wählen Sie aus, ob Sie es installieren möchten Manuell or Automated Modus

**** Beachten Sie, dass Sie, wenn Sie einen Modus gewählt haben, das Programm neu installieren müssen, bevor Sie es im anderen Modus testen können. *****

Öffnen Sie das Roaming-Unterverzeichnis von Appdata

 Um eSigner CKA mit Ihrem SSL.com-Sandbox-Konto zu testen, müssen Sie die Einstellungen der Anwendung im Roaming-Unterverzeichnis des AppData-Ordners ändern. Eingeben %Anwendungsdaten% in der Windows-Suchleiste, um Sie direkt zum Roaming-Unterverzeichnis von AppData zu bringen.

eSigner öffnen Datendatei mit Ihrem Texteditor

Öffnen Sie den Microsoft Store auf Ihrem Windows-PC. eSignerCKA Ordner, suchen Sie die Datei esignerapp.data, klicken Sie mit der rechten Maustaste darauf und wählen Sie in diesem Fall die Option zum Bearbeiten der Datei mit Ihrem Texteditor Notepad + +

Beim Öffnen des Texteditors sehen Sie die Wertesätze unten.

Sie können die Wertesätze in aufeinanderfolgende Zeilen aufteilen, damit sie einfacher bearbeitet werden können. 

Testsignierung im manuellen Modus

Für die Testsignierung im manuellen Modus sollten die folgenden Werte vorhanden sein:

  1. Die Client-ID sollte lauten: qOUeZCCzSqgA93acB3LYq6lBNjgZdiOxQc-KayC3UMw
  2. Speichern -Versuchen auf der api_url
    Vorher: „api_url“: „https://cs.ssl.com/csc/v0/
    Nach: „api_url“:“https://cs-versuchen.ssl.com/csc/v0/"
  3. Ersetzen login mit oauth-sandbox auf der auth_url
    Vorher: „auth_url“: „https://login.ssl.com/oauth2/token“
    Nach: „auth_url“: „https://oauth-sandbox.ssl.com/oauth2/token“
  4. „cred_mode“: 0
  5. „master_key“: null

Testsignierung im automatisierten Modus

Für die Testsignierung im automatisierten Modus sollten die folgenden Werte vorhanden sein:

  1. Die Client-ID sollte lauten: qOUeZCCzSqgA93acB3LYq6lBNjgZdiOxQc-KayC3UMw
  2. Speichern -Versuchen auf der api_url
    Vorher: „api_url“: „https://cs.ssl.com/csc/v0/
    Nach: „api_url“:“https://cs-versuchen.ssl.com/csc/v0/"
  3. Ersetzen login mit oauth-sandbox auf der auth_url
    Vorher: „auth_url“: „https://login.ssl.com/oauth2/token“
    Nach: „auth_url“: „https://oauth-sandbox.ssl.com/oauth2/token“
  4. „cred_mode“: 1
  5. Ersetzen null auf master_key mit dem genauen Dateipfad Ihrer Hauptschlüssel Datei.
    Wenn Sie eSigner CKA zu Testzwecken im automatisierten Modus installieren, müssen Sie die Anmeldeinformationen für Ihr Sandbox-Konto angeben. Der Grund liegt darin, dass beim automatisierten Code Signing Anmeldedaten mit dem Master Key verschlüsselt werden. Wenn Sie bei der Installation Anmeldeinformationen für die Produktionsumgebung eingeben und später die Werte in der Datei esignerapp.data nach einem automatisierten Testformat ändern, können Sie keine Tests durchführen, da der von Ihnen angegebene Benutzername und das Kennwort nicht in der Sandbox-Testumgebung vorhanden sind.

Melden Sie sich bei eSigner CKA mit den Anmeldedaten Ihres SSL.com-Sandbox-Kontos an

Nach dem Ändern der Werte auf esignerapp.data, Sie können jetzt Ihr EV-Codesignaturzertifikat von Ihrer Sandbox aus testen, indem Sie die gleichen Schritte ausführen, die zuvor für ein Live-Zertifikat beschrieben wurden.

So signieren Sie eine HLK-Datei (Hardware Lab Kit) mit eSigner CKA und HLKSigntool

Hardware Lab Kit ist ein Tool zum Testen und Vorbereiten eines Kernelmodustreibers für die Übermittlung an Microsoft. Derzeit erfordert eSigner CKA auch die Installation des HLKSigntool, um in der HLK-Software von Microsoft verwendet werden zu können 

eSigner CKA muss zuerst installiert und konfiguriert werden (Benutzer angemeldet und TOTP-Secret-Set), bevor HLKSignTool.exe ausgeführt werden kann. 

Schritt 1. Installieren und konfigurieren Sie eSigner CKA

Schritt 2. Verwenden Sie HLKSignTool mit der folgenden Befehlszeile

Befehlszeile
HLKSignTool.exe certificate_serial „path_to_file“

Beispiel:

HLKSignTool.exe 3364de1e9ed1882e963a89ff7a958e9d "A:\teet.hlkx"

So signieren Sie VBA-Makros mit eSigner CKA

Laden Sie über diesen Link Microsoft Office Subject Interface Packages zum digitalen Signieren von VBA-Projekten herunter und installieren Sie sie über diesen Link: https://www.microsoft.com/en-us/download/details.aspx?id=56617

Hinweis: Bei einigen Benutzern kann es zu einem Fehler beim Signieren kommen, da VBA einen SHA1-Hash des Codes anbietet, der an eSigner gesendet werden soll, eSigner jedoch SHA256 oder höher erfordert. So beheben Sie dieses Problem. Microsoft empfiehlt Folgendes:

Sie können ein hinzufügen DWORD Registrierungsschlüsselwert V1HashEnhanced Um einen anderen Hash-Algorithmus zu wählen, unter HKCU\SOFTWARE\Microsoft\VBA\Security mit Wert-Algorithmus-Regeln (1 bis SHA1, 2 bis SHA256, 3 bis SHA384, 4 bis SHA512).

Führen Sie nach der Installation die folgenden Schritte aus:

  1. Öffnen Sie eine Administrator-Eingabeaufforderung und geben Sie Folgendes ein. Der Pfad befindet sich dort, wo Sie gerade die Dateien installiert haben:

    regsvr32.exe

    regsvr32.exe

    Weitere Informationen zum Registrieren von OLE-Steuerelementen finden Sie unter Microsoft-Website.

    Bei Erfolg wird die Meldung „DIIRegister Server in“ angezeigt gelungen.“

  2. Installieren Sie Folgendes: download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe
  3. Installieren Sie eSigner CKA
  4. Führen Sie den SignTool-Befehl aus, um Makros zu signieren: https://www.ssl.com/how-to/automate-ev-code-signing-with-signtool-or-certutil-esigner/#components-of-the-command-line

So signieren Sie .app-Dateien mit eSigner CKA

  1. Herunterladen Dynamics.365.BC.55195.US.DVD.zip at https://www.microsoft.com/en-US/download/details.aspx?id=105113 
    Hinweis: Wenn Sie versuchen, eine zu unterzeichnen .app Datei mit eSigner CKA ohne vorherige Installation von Microsoft Wenn Sie die Dynamics 365 Business Central-Anwendung verwenden, erhalten Sie diesen SignTool-Fehler: Dieses Dateiformat kann nicht signiert werden, da es nicht erkannt wird.
  2. Öffnen Sie den Microsoft Store auf Ihrem Windows-PC. Dynamics.365.BC.55195.US.DVD.zip und extrahieren Sie den Inhalt an Ihren bevorzugten Speicherort.
  3. Öffnen setup.exe für Microsoft Dynamics 365 Business Central und klicken Sie auf Weiter> .
  4. Lesen Sie die Microsoft-Softwarelizenzbedingungen und klicken Sie dann auf Ich akzeptiere > .
  5. Wählen Erweiterte Installationsoptionen
  6. Klicken Sie Wählen Sie eine Installationsoption.
  7. Wähle die Server Installationsmöglichkeit.
  8. Klicken Sie auf die Bewerben Taste.
  9. Warten Sie, bis die Installation abgeschlossen ist. Klicken Sie nach erfolgreicher Installation auf Menu .
  10. Signieren Sie Ihre .app-Datei auf SignTool: https://www.ssl.com/how-to/automate-ev-code-signing-with-signtool-or-certutil-esigner/#components-of-the-command-line

So signieren Sie vsix-Dateien mit eSigner CKA

  1. Laden Sie das Dotnet Core SDK herunter: https://dotnet.microsoft.com/en-us/download/dotnet/7.0
  2. Installieren Sie OpenVsixSignTool
    dotnet tool install -g OpenVsixSignTool
  3. Verwenden Sie diesen Zeichenbefehl:
    OpenVsixSignTool sign --sha1 CERTIFICATE THUMBPRINT --timestamp http://ts.ssl.com -ta sha256 -fd sha256 "SIGNABLE FILE PATH"

So verwenden Sie den Malware-Scan auf eSigner CKA

Anleitung:

  1. Melden Sie sich bei Ihrem SSL.com-Konto an. Klicken Sie auf die Registerkarte „Bestellungen“ und dann auf „ herunterladen Klicken Sie auf den Link Ihres Zertifikats, um dessen Details anzuzeigen. Scrollen Sie nach unten zum UNTERZEICHNUNGSZULASSUNGEN Abschnitt und suchen Sie den Teil mit den Anmeldeinformationen Ihres eSigner-Zertifikats. Stellen Sie sicher, dass die Optionsfelder mit der Aufschrift „ Signierberechtigung aktiviert und Malware-Blocker aktiviert sind auserwählt.
  2. Installieren Sie den eSigner Cloud Key Adapter.
  3. Installieren Sie das eSigner CodeSignTool. Klicken HIER um das eSigner CodeSignTool herunterzuladen.
  4. Scannen Sie den Code auf CodeSignTool mit dem folgenden Befehl: scan_code [-hV] -input_file_path=<inputFilePath> -password=<PASSWORD> [-program_name=<programName>] -username=<USERNAME>
  5. Verwenden Sie das Sign Tool, um den Code mit eSigner CKA mit dem folgenden Befehl zu signieren: scan_code -username=<USERNAME> -password=<PASSWORD> -credential_id=<eSigner Credential ID> -input_file_path=<inputFilePath>

Parameter:

  • -input_file_path=<PATH>: Pfad des zu signierenden Codeobjekts.
  • -username=<USERNAME>SSL.com Benutzername
  • -password=<PASSWORD>SSL.com Konto Passwort.
  • -program_name=<PROGRAM_NAME>: Name des Programms
  • -credential_id=<CREDENTIAL_ID>: Anmeldeinformations-ID zum Signieren des Zertifikats. Ihre eSigner-Anmeldeinformations-ID befindet sich in Ihrem SSL.com Zertifikatsbestellseite.

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.