eSigner CodeSignTool-Befehlshandbuch

CodeSignTool ist ein sicheres, datenschutzorientiertes, plattformübergreifendes Java-Befehlszeilendienstprogramm zum Remote-Signieren von Microsoft Authenticode und Java-Codeobjekten eSignierer EV-Code-Signing-Zertifikate. Hashes der Dateien werden gesendet an SSL.com zum Signieren, damit der Code selbst nicht gesendet wird. Dies ist ideal, wenn sensible Dateien signiert werden müssen, aber nicht zum Signieren über das Kabel gesendet werden sollten. CodeSignTool ist auch ideal für automatisierte Batch-Prozesse für hochvolumige Signierungen oder die Integration in bestehende CI/CD-Pipeline-Workflows.

Wenn Sie CodeSignTool mit einem Demokonto und Zertifikat ausprobieren möchten, lesen Sie bitte eSigner-Demo-Anmeldeinformationen und -Zertifikate für Anmeldeinformationen und Konfigurationsinformationen.

Informationen zu allen Dateitypen, die CodeSignTool signieren kann, finden Sie in diesem Artikel: Von eSigner unterstützte Dateitypen

Für Anweisungen zur Vorgehensweise Automatisieren Sie EV Code Signing mit signtool.exe oder certutil.exe lesen Sie bitte diese Anleitung.

Wenn Sie stattdessen esigner zum Signieren von Dokumenten verwenden möchten, bitte siehe diese DocSignTool-Anleitung.

CodeSignTool-Installation

Um die aktuelle Version von CodeSignTool zu installieren, laden Sie einfach die richtige Datei für Ihr Betriebssystem herunter und entpacken Sie sie:

Beachten Sie, dass der Windows-Download Java Runtime enthält, aber die Linux/macOS-Version erfordert, dass Java Runtime auf Ihrem Computer installiert ist. Die Windows-Version des Befehls ist eine Batchdatei (CodeSignTool.bat) und die Linux / macOS-Version ist ein Shell-Skript (CodeSignTool.sh).

CodeSignTool-Verwendungsübersicht

Verwendung: CodeSignTool [-hV] [COMMAND] [PARAMETERS]

Zubehör:

  • -h, --help: Hilfemeldung anzeigen und beenden.
  • -V, --version: Versionsinformationen anzeigen und beenden.

Befehle:

  • get_credential_ids: Geben Sie die Liste der eSigner-Anmeldeinformationen aus, die einem bestimmten Benutzer zugeordnet sind.
  • credential_info: Geben Sie Schlüssel- und Zertifikatsinformationen in Bezug auf eine Anmeldeinformations-ID aus.
  • sign: Codeobjekt für Vorzeichen und Zeitstempel.
  • batch_sign: Signieren und Zeitstempeln mehrerer Codeobjekte mit einem OTP.
  • hash: Hash(es) für die spätere Verwendung mit . vorberechnen batch_hash_sign Befehl.
  • batch_sign_hash: Hash(es) vorberechnet mit signieren hash Befehl.

Parameter:

  • -access_token=<TOKEN>: OAuth Zugangstoken.
  • -credential_id=<CREDENTIAL_ID>: Berechtigungs-ID zum Signieren des Zertifikats.
  • -input_dir_path=<PATH>: Eingabeverzeichnis für zu signierende Codeobjekte, Hashes berechnen lassen oder unsignierte Dateien und entsprechende Hashes zum Signieren auswählen.
  • -input_file_path=<PATH>: Pfad des zu signierenden Codeobjekts.
  • -otp=<OTP>: OAuth-OTP-Wert von der Authentifizierungs-App.
  • -output_dir_path=<PATH>: Verzeichnis, in das signierte Codeobjekte geschrieben werden.
  • -password=<PASSWORD>: Passwort für das SSL.com-Konto.
  • -program_name=<PROGRAM_NAME>: Name des Programms (nur für MSI-Installer).
  • -totp_secret=<TOTP_SECRET>: OAuth TOTP-Geheimnis
  • -username=<USERNAME>: Benutzername des SSL.com-Kontos
  • -override="true": Überschreibt die signierte Datei
Wenn Ihr Passwort Sonderzeichen enthält, setzen Sie es in Anführungszeichen (z -password="P!@^^ssword12").

CodeSignTool-Befehle

get_credential_ids

Geben Sie die Liste der eSigner-Anmeldeinformationen aus, die einem bestimmten Benutzer zugeordnet sind. Parameter -username und -password erforderlich sind.

Verwendung: CodeSignTool [-hV] get_credential_ids -username=<USERNAME> -password=<PASSWORD>

Beispiel:

CodeSignTool get_credential_ids -username=john.doe@example.com -password="P0z9@lxo41"
Credential ID(s):
- fe537ace-e132-52a9-c2e7-egcd2ac3f1e6

eingeben CodeSignTool get_credential_ids Ohne die erforderlichen Parameter werden Verwendungsinformationen für den Befehl angezeigt.

Anmeldeinformationen

Geben Sie Schlüssel- und Zertifikatsinformationen in Bezug auf eine Anmeldeinformations-ID aus. Parameter -credential_id, -username und -password erforderlich sind.

Verwendung: CodeSignTool [-hV] credential_info -credential_id=<CREDENTIAL_ID> -username=<USERNAME> -password=<PASSWORD>

Beispiel:

CodeSignTool credential_info -credential_id=fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -username=john.doe@example.com -password="P0z9@lxo41" Informationen zum EVCS-Zertifikat Betreff: - Betreff DN: OID.1.3.6.1.4.1.311.60.2.1.3 1.3.6.1.4.1.311.60.2.1.2=USA, OID.2.5.4.15=Nevada, OID.20081614243=Private Organisation, CN=SSL Corp, SERIALNUMBER=NV26, O=SSL Corp, L=Houston, ST=Texas, C=US - Zertifikatsablauf: Mo. Feb 21 21:37:2024 EST 3 - Aussteller-DN: CN=SSL.com EV Code Signing Intermediate CA RSA RXNUMX, O=SSL Corp, L=Houston, ST=Texas , C=US

eingeben CodeSignTool credential_info Ohne die erforderlichen Parameter werden Verwendungsinformationen für den Befehl angezeigt.

scan_code

Aktiviert den Malware-Scan vor dem Signieren. Dadurch wird Ihre Datei auf mögliche Malware gescannt, um eine Code-Kompromittierung zu vermeiden und verhindert das Signieren von Code, wenn Malware erkannt wird.

Verwendung: CodeSignTool scan_code [-hV] -credential_id=<credentialId> -input_file_path=<inputFilePath> -password=<password> [-program_name=<programName>] -username=<username>

Ausführlichere Informationen zu den Sicherheitsvorteilen des Malware-Scan-Dienstes von SSL.com finden Sie auf unserer Website dedizierte Seite.

Schild

Zeichen- und Zeitstempelcodeobjekt. Parameter -username, -password und -input_file_path erforderlich sind. -credential_id ist nur für Benutzer mit mehr als einem eSigner-Codesignaturzertifikat erforderlich. -output_dir_path, -program_name und -totp_secret sind optional.

Verwendung: CodeSignTool sign [-hV] [-credential_id=<CREDENTIAL_ID>] -username=<USERNAME> -password=<PASSWORD> -input_file_path=<PATH> [-output_dir_path=<PATH>] [-program_name=<PROGRAM_NAME>] [-totp_secret=<TOTP_SECRET>]

Optionale Parameter:

  • If -credential_id wird weggelassen und der Benutzer hat nur ein eSigner-Codesignaturzertifikat. CodeSignTool verwendet dies standardmäßig. Wenn der Benutzer über mehr als ein Codesignaturzertifikat verfügt, ist dieser Parameter obligatorisch.
  • If -output_dir_path wird weggelassen, die in angegebene Datei -input_file_path wird mit der signierten Datei überschrieben. CodeSignTool fordert den Benutzer auf, bevor die Datei überschrieben wird.
  • If -program_name Wenn beim Signieren eines MSI-Installationsprogramms vorhanden ist, wird der Wert im Bestätigungsdialog als Programmname angezeigt.
  • If -totp_secret vorhanden ist, berechnet CodeSignTool ein zeitbasiertes OTP für die Signatur, wodurch die automatische Verwendung des Tools ermöglicht wird. Wenn dieser Parameter nicht vorhanden ist, wird der Benutzer zur manuellen OTP-Eingabe aufgefordert.
Informationen zum Registrieren eines EV-Codesignaturzertifikats in eSigner und zum Einrichten der Zwei-Faktor-Authentifizierung finden Sie unter Remote-EV-Codesignatur mit eSigner. Informationen zum geheimen TOTP-Wert finden Sie unter Automatisieren Sie die Signatur des eSigner EV-Codes.

Beispiele:

Manuelle OTP-Eingabe:

CodeSignTool sign -credential_id=fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -username=john.doe@example.com -password="P0z9@lxo41" -output_dir_path=signed -input_file_path=test.exe Geben Sie das OTP ein - Drücken Sie die Eingabetaste, um fortzufahren : 884646 Code erfolgreich signiert: C:\Users\John Doe\Desktop\CodeSignTool-v1.0-windows\signed\test.exe

Automatisierte OTP-Generierung:

CodeSignTool sign -credential_id=fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -username=john.doe@example.com -password="P0z9@lxo41" -totp_secret=ii5gVvZ9G+WkxB3FauAnoL/z14AXSMistcE0jZMWWNSjQDlql2kt2D6Z+l8= -output_dir_path=signed -input_file_path=test.exe
Code signed successfully: C:\Users\John Doe\Desktop\CodeSignTool-v1.0-windows\signed\test.exe

eingeben CodeSignTool sign Ohne die erforderlichen Parameter werden Verwendungsinformationen für den Befehl angezeigt.

Wenn Sie die Fehlermeldung erhalten, Error: invalid otp Beim Versuch, eine Datei zu signieren, kann dies durch eines oder mehrere der folgenden Probleme verursacht werden:

  • Der QR-Code, den Sie in Ihre Authentifizierungs-App gescannt haben, stimmt nicht mit dem Benutzernamen, dem Kennwort und / oder der Anmeldeinformations-ID Ihres Befehls überein. Dies könnte passieren, wenn:
    • Sie haben mehrere Konten für 2FA auf Ihrem Gerät konfiguriert und das falsche ausgewählt.
    • Sie versuchen, Ihre Anmeldeinformationen für a zu verwenden gemeinsames Zertifikat, aber einen von einem Teamkollegen freigegebenen QR-Code von seinem Konto gescannt.
  • Das von Ihnen eingegebene OTP ist bereits abgelaufen.
  • Ihr Befehl enthält ein ungültiges TOTP-Geheimnis.
Einige eSigner-Benutzer haben Probleme mit ungültigen Signaturen beim Signieren von MSI-Installationsprogrammen gemeldet, die mit Microsoft Visual Studio erstellt wurden. Als Workaround empfehlen wir, Ihre MSI-Dateien mit . zu erstellen WiX-Toolset. Für die Benutzerfreundlichkeit von Visual Studio-Benutzern WiX Toolset VS-Erweiterung ist verfügbar.

batch_sign

Hinweis: 100 ist die maximale Anzahl von Codedateien, die pro Stapel signiert werden dürfen.

Signieren und stempeln Sie bis zu 100 Codedateien mit einem OTP. Parameter -username, -password und -input_dir_path erforderlich sind. -credential_id ist nur für Benutzer mit mehr als einem eSigner-Codesignaturzertifikat erforderlich. -output_dir_path, -program_name und -totp_secret sind optional.

Verwendung: CodeSignTool [-hV] batch_sign [-credential_id=<CREDENTIAL_ID>] -username=<USERNAME> -password=<PASSWORD> -input_dir_path=<PATH> [-output_dir_path=<PATH>] [-program_name=<PROGRAM_NAME>] [-totp_secret=<TOTP_SECRET>]

Wenn ein Benutzer eine Batch-Signierung mit Malware-Prüfung durchführen möchte, muss jedes Codeobjekt im Batch zunächst mit dem gescannt werden scan_code Befehl und dann danach, die batch_sign Der Befehl kann ausgeführt werden.

Optionale Parameter:

  • If -credential_id wird weggelassen und der Benutzer hat nur ein eSigner-Codesignaturzertifikat. CodeSignTool verwendet dies standardmäßig. Wenn der Benutzer über mehr als ein Codesignaturzertifikat verfügt, ist dieser Parameter obligatorisch.
  • If -output_dir_path weggelassen wird, die in specified angegebenen Dateien -input_dir_path wird mit den signierten Dateien überschrieben. CodeSignTool fordert den Benutzer auf, bevor die Datei überschrieben wird.
  • If -program_name Wenn beim Signieren eines MSI-Installationsprogramms vorhanden ist, wird der Wert im Bestätigungsdialog als Programmname angezeigt.
  • If -totp_secret vorhanden ist, berechnet CodeSignTool ein zeitbasiertes OTP für die Signatur, wodurch die automatische Verwendung des Tools ermöglicht wird. Wenn dieser Parameter nicht vorhanden ist, wird der Benutzer zur manuellen OTP-Eingabe aufgefordert.

Beispiel:

CodeSignTool batch_sign -username=john.doe@example.com -password="P0z9@lxo41" -credential_id=fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -input_dir_path=input -output_dir_path=output Geben Sie das OTP ein: 455145 - Drücken Sie XNUMX, um fortzufahren Stapelsignierbefehl erfolgreich ausgeführt. Ausgabeverzeichnis für signierte Dateien: output

eingeben CodeSignTool batch_sign Ohne die erforderlichen Parameter werden Verwendungsinformationen für den Befehl angezeigt.

Hash-

Berechne Hash(s) für die spätere Verwendung mit batch_hash_sign Befehl. Parameter -input_dir_path erforderlich. -program_name es ist optional

Verwendung: CodeSignTool [-hV] hash -input_dir_path=<PATH> [-program_name=<PROGRAM_NAME>]

Optionale Parameter:

  • If -program_name Wenn beim Signieren eines MSI-Installationsprogramms vorhanden ist, wird der Wert im Bestätigungsdialog als Programmname angezeigt.

Beispiel:

CodeSignTool hash -input_dir_path=Eingabe-Hash-Befehl wurde erfolgreich ausgeführt. Hash-Dateien erstellt bei: input

eingeben CodeSignTool hash Ohne die erforderlichen Parameter werden Verwendungsinformationen für den Befehl angezeigt.

batch_sign_hash

Hash(es) vorberechnet mit signieren hash Befehl. Parameter -access_token, input_dir_path, -otp und output_dir_path erforderlich sind. -credential_id ist nur für Benutzer mit mehr als einem eSigner-Codesignaturzertifikat erforderlich.

Verwendung: CodeSignTool [-hV] batch_sign_hash -access_token=<ACCESS_TOKEN> [-credential_id=<CREDENTIAL_ID>] -input_dir_path=<PATH> -output_dir_path=<PATH> -otp=<OTP>

Optionale Parameter:

  • If -credential_id wird weggelassen und der Benutzer hat nur ein eSigner-Codesignaturzertifikat. CodeSignTool verwendet dies standardmäßig. Wenn der Benutzer über mehr als ein Codesignaturzertifikat verfügt, ist dieser Parameter obligatorisch.

Beispiel:

CodeSignTool batch_sign_hash -access_token=eyJraWQiOiJmUE1yYUdlbXVMWGUtcG9JWUtLem1CMEYwYXlFczktUEpiN29lTWFlY2I0IiwiYWxnIjoiUlMyNTYifQ.eyJpc3MiOiJTU
0wuY29tIEF1dGhlbnRpY2F0aW9uIFNlcnZpY2UiLCJleHAiOjE2MTQ4OTcxNDIsImlhdCI6MTYxNDg5MzU0MiwianRpIjoiZmI2OTZlNDUtMTIzOS00ZGE4LW
I1MmYtODNkZDE2MTY3ZTM3IiwidXNlciI6eyJ1c2VyX2lkIjoxMzIyODU4LCJ1c2VyX2VtYWlsIjoiYWFyb24uZS5ydXNzZWxsQGdtYWlsLmNvbSIsInNzbF9
hY2NvdW50X2lkIjo0NzQzMDJ9LCJjbGllbnQiOnsiaWQiOiJmUE1yYUdlbXVMWGUtcG9JWUtLem1CMEYwYXlFczktUEpiN29lTWFlY2I0In19.fCKDs1igjsI
UDG2sUN_2OTb90Jw1nKNPHcD1MyEUR6sHCv_aJmcvcaFRne_eKLHzeQ9WtT5y3Fb2ppc50kMnjPG6JgX5gnFMptMn-ySsI277CtKbkSn3u-WSDSovn51jPm82
4wTeJmuXEzdv9clRjTwp6VoM9eqHCIaDAd3MP2xpMaa35cZbDaaAFKQ7jxWo9dUuTZY7DsKK0p1LloUEnmNxtNimQ3GDwkj_M600WB1zYrhDL9_3oZKaXcUx9
qzHcBCLzGgeaZ0xdpZtADxmXDUCcmkZi20yQ53bxqVL2w00sJ73efKB7JGeGWVehO-ZlGs3PUQwooox1JgEgcsA -credential_id=fe537ace-e132-52a9
-c2e7-egcd2ac3f1e6 -input_dir_path=input -output_dir_path=output -otp=142392
Batch sign hash command executed successfully. Output directory for signed files: output

eingeben CodeSignTool batch_sign_hash Ohne die erforderlichen Parameter werden Verwendungsinformationen für den Befehl angezeigt.

Video: Cloud EV Code Signing mit eSigner und CodeSignTool

https://youtu.be/Br25mZIlKdU
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. Antworten auf viele häufig gestellte Support-Fragen finden Sie auch in unserer Wissensbasis.
Twitter
Facebook
LinkedIn
Reddit
E-Mail

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.