Przewodnik po poleceniach eSigner CodeSignTool

Narzędzie CodeSign to bezpieczne, zorientowane na prywatność, wieloplatformowe narzędzie wiersza poleceń Java do zdalnego podpisywania obiektów kodu Microsoft Authenticode i Java za pomocą e-podpisujący Certyfikaty podpisywania kodów EV. Skróty plików są wysyłane do SSL.com do podpisania, aby sam kod nie został wysłany. Jest to idealne rozwiązanie, gdy poufne pliki muszą być podpisane, ale nie powinny być przesyłane przez sieć w celu podpisania. CodeSignTool jest również idealny do zautomatyzowanych procesów wsadowych dla podpisywania dużej liczby lub integracji z istniejącymi przepływami pracy CI/CD.

Jeśli chcesz wypróbować CodeSignTool z kontem demo i certyfikatem, przeczytaj Poświadczenia i certyfikaty demo eSigner dla poświadczeń i informacji konfiguracyjnych.

Aby poznać wszystkie typy plików, które CodeSignTool może podpisywać, zapoznaj się z tym artykułem: Obsługiwane typy plików eSigner

Aby uzyskać instrukcje, jak zautomatyzuj podpisywanie kodów EV za pomocą signtool.exe lub certutil.exe Zapoznaj się to instrukcje.

Jeśli zamiast tego chcesz używać esignera do podpisywania dokumentów, proszę zapoznaj się z tym przewodnikiem DocSignTool.

Instalacja CodeSignTool

Aby zainstalować aktualną wersję CodeSignTool, po prostu pobierz i rozpakuj odpowiedni plik dla swojego systemu operacyjnego:

Zwróć uwagę, że plik do pobrania dla systemu Windows zawiera środowisko wykonawcze Java, ale wersja dla systemu Linux/macOS wymaga zainstalowania środowiska wykonawczego Java na komputerze. Wersja polecenia dla systemu Windows jest plikiem wsadowym (CodeSignTool.bat), a wersja dla systemu Linux / macOS to skrypt powłoki (CodeSignTool.sh).

Omówienie użycia CodeSignTool

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

Opcje:

  • -h, --help: Wyświetla komunikat pomocy i wychodzi.
  • -V, --version: Wyświetl informacje o wersji i zakończ.

polecenia:

  • get_credential_ids: wyślij listę identyfikatorów poświadczeń eSigner powiązanych z określonym użytkownikiem.
  • credential_info: Dane wyjściowe klucza i certyfikatu związane z identyfikatorem poświadczeń.
  • sign: Obiekt kodu znaku i znacznika czasu.
  • batch_sign: Podpisz i oznacz czasowo wiele obiektów kodu za pomocą jednego OTP.
  • hash: Wstępnie oblicz skrót(y) do późniejszego użycia z batch_hash_sign dowództwo.
  • batch_sign_hash: Podpisz hash(y) wstępnie obliczone za pomocą hash dowództwo.

Parametry:

  • -access_token=<TOKEN>: Autoryzacja OAuth token dostępu.
  • -credential_id=<CREDENTIAL_ID>: Identyfikator poświadczeń do podpisywania certyfikatu.
  • -input_dir_path=<PATH>: Katalog wejściowy dla obiektów kodu, które mają być podpisane, mają obliczone skróty lub wybrać niepodpisane pliki i odpowiadające im skróty do podpisania.
  • -input_file_path=<PATH>: Ścieżka obiektu kodu do podpisania.
  • -otp=<OTP>: wartość OAuth OTP z aplikacji uwierzytelniającej.
  • -output_dir_path=<PATH>: Katalog, w którym zostaną zapisane podpisane obiekty kodu.
  • -password=<PASSWORD>: Hasło do konta SSL.com.
  • -program_name=<PROGRAM_NAME>: Nazwa programu (tylko dla instalatorów MSI).
  • -totp_secret=<TOTP_SECRET>: Autoryzacja OAuth Sekret TOTP
  • -username=<USERNAME>: Nazwa użytkownika konta SSL.com
  • -override="true": Zastępuje podpisany plik
Jeśli hasło zawiera znaki specjalne, umieść je w cudzysłowie (np -password="P!@^^ssword12").

Polecenia CodeSignTool

get_credential_ids

Wyświetl listę identyfikatorów poświadczeń eSigner powiązanych z określonym użytkownikiem. Parametry -username i -password są wymagane.

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

Przykład:

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

Wprowadzanie CodeSignTool get_credential_ids bez wymaganych parametrów wyświetli informacje o użyciu dla polecenia.

dane_dane uwierzytelniające

Wyprowadź informacje o kluczu i certyfikacie związane z identyfikatorem poświadczeń. Parametry -credential_id, -username, -password są wymagane.

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

Przykład:

CodeSignTool credential_info -credential_id=fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -username=john.doe@example.com -password="P0z9@lxo41" Informacje o certyfikacie EVCS: - Nazwa DN podmiotu: OID.1.3.6.1.4.1.311.60.2.1.3 .1.3.6.1.4.1.311.60.2.1.2=US, OID.2.5.4.15=Nevada, OID.20081614243=Organizacja prywatna, CN=SSL Corp, SERIALNUMBER=NV26, O=SSL Corp, L=Houston, ST=Texas, C=US — wygaśnięcie certyfikatu: poniedziałek 21 lutego, 21:37:2024 EST 3 — numer identyfikacyjny wystawcy: CN=SSL.com EV Code Signing Intermediate CA RSA RXNUMX, O=SSL Corp, L=Houston, ST=Texas , C=USA

Wprowadzanie CodeSignTool credential_info bez wymaganych parametrów wyświetli informacje o użyciu dla polecenia.

kod_skanowania

Włącza skanowanie w poszukiwaniu złośliwego oprogramowania przed podpisaniem. Spowoduje to przeskanowanie pliku pod kątem potencjalnego złośliwego oprogramowania, aby uniknąć naruszenia bezpieczeństwa kodu i zapobiega podpisaniu kodu w przypadku wykrycia złośliwego oprogramowania.

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

Aby uzyskać bardziej szczegółowe informacje na temat korzyści związanych z bezpieczeństwem usługi skanowania złośliwego oprogramowania SSL.com, odwiedź naszą stronę Strona dedykowana.

znak

Obiekt kodu znaku i znacznika czasu. Parametry -username, -password, -input_file_path są wymagane. -credential_id jest wymagany tylko dla użytkowników posiadających więcej niż jeden certyfikat do podpisywania kodu eSigner. -output_dir_path, -program_name, -totp_secret są opcjonalne.

Stosowanie: 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>]

Parametry opcjonalne:

  • If -credential_id jest pominięty, a użytkownik ma tylko jeden certyfikat do podpisywania kodu eSigner, CodeSignTool domyślnie to zrobi. Jeśli użytkownik ma więcej niż jeden certyfikat podpisujący kod, ten parametr jest obowiązkowy.
  • If -output_dir_path jest pominięty, plik określony w -input_file_path zostanie nadpisany podpisanym plikiem. CodeSignTool zapyta użytkownika przed nadpisaniem pliku.
  • If -program_name jest obecny podczas podpisywania instalatora MSI, wartość zostanie wyświetlona w oknie dialogowym potwierdzenia jako nazwa programu.
  • If -totp_secret jest obecny, CodeSignTool obliczy oparte na czasie hasło jednorazowe do podpisania, umożliwiając automatyczne użycie narzędzia. Jeśli ten parametr nie jest obecny, użytkownik zostanie poproszony o ręczne wprowadzenie hasła OTP.
Aby uzyskać informacje na temat rejestracji certyfikatu podpisującego kod EV w eSigner i konfigurowania uwierzytelniania dwuskładnikowego, przeczytaj Zdalne podpisywanie kodów EV za pomocą eSigner. Aby uzyskać informacje na temat wartości tajnej TOTP, zobacz Zautomatyzuj podpisywanie kodów eSigner EV.

Przykłady:

Ręczne wprowadzanie hasła jednorazowego:

Znak CodeSignTool -credential_id=fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -username=john.doe@example.com -password="P0z9@lxo41" -output_dir_path=signed -input_file_path=test.exe Wprowadź OTP - naciśnij enter, aby kontynuować : 884646 Kod podpisany pomyślnie: C:\Users\John Doe\Desktop\CodeSignTool-v1.0-windows\signed\test.exe

Automatyczne generowanie haseł jednorazowych:

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

Wprowadzanie CodeSignTool sign bez wymaganych parametrów wyświetli informacje o użyciu dla polecenia.

Jeśli pojawi się komunikat o błędzie, Error: invalid otp podczas próby podpisania pliku może to być spowodowane co najmniej jednym z następujących problemów:

  • Kod QR zeskanowany do aplikacji uwierzytelniającej nie pasuje do nazwy użytkownika, hasła i / lub identyfikatora poświadczenia z polecenia. Może się to zdarzyć, jeśli:
    • Masz wiele kont skonfigurowanych dla 2FA na swoim urządzeniu i wybrałeś niewłaściwe.
    • Próbujesz użyć swoich danych logowania do domeny wspólny certyfikat, ale zeskanował kod QR udostępniony przez członka zespołu z jego konta.
  • Podane hasło jednorazowe już wygasło.
  • Twoje polecenie zawiera nieprawidłowy sekret TOTP.
Niektórzy użytkownicy eSigner zgłaszali problemy z nieprawidłowymi podpisami podczas podpisywania instalatorów MSI zbudowanych za pomocą Microsoft Visual Studio. Jako obejście sugerujemy tworzenie plików MSI za pomocą Zestaw narzędzi WiX. Dla wygody użytkowników programu Visual Studio, a Rozszerzenie WiX Toolset VS jest dostępna.

znak_wsadu

Uwaga: 100 to maksymalna liczba plików kodu, które można podpisać w partii.

Podpisz i oznacz czasowo do 100 plików kodu za pomocą jednego OTP. Parametry -username, -password, -input_dir_path są wymagane. -credential_id jest wymagany tylko dla użytkowników posiadających więcej niż jeden certyfikat do podpisywania kodu eSigner. -output_dir_path, -program_name, -totp_secret są opcjonalne.

Stosowanie: 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>]

Jeśli użytkownik chce przeprowadzić podpisywanie wsadowe ze sprawdzaniem złośliwego oprogramowania, każdy obiekt kodu w partii musi najpierw zostać przeskanowany za pomocą scan_code polecenie, a następnie, batch_sign można uruchomić polecenie.

Parametry opcjonalne:

  • If -credential_id jest pominięty, a użytkownik ma tylko jeden certyfikat do podpisywania kodu eSigner, CodeSignTool domyślnie to zrobi. Jeśli użytkownik ma więcej niż jeden certyfikat podpisujący kod, ten parametr jest obowiązkowy.
  • If -output_dir_path pominięto, pliki określone w -input_dir_path zostaną zastąpione podpisanymi plikami. CodeSignTool poprosi użytkownika przed nadpisaniem pliku.
  • If -program_name jest obecny podczas podpisywania instalatora MSI, wartość zostanie wyświetlona w oknie dialogowym potwierdzenia jako nazwa programu.
  • If -totp_secret jest obecny, CodeSignTool obliczy oparte na czasie hasło jednorazowe do podpisania, umożliwiając automatyczne użycie narzędzia. Jeśli ten parametr nie jest obecny, użytkownik zostanie poproszony o ręczne wprowadzenie hasła OTP.

Przykład:

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 Wprowadź: 455145, aby kontynuować Polecenie podpisywania wsadowego wykonane pomyślnie. Katalog wyjściowy dla podpisanych plików: output

Wprowadzanie CodeSignTool batch_sign bez wymaganych parametrów wyświetli informacje o użyciu dla polecenia.

haszysz

Wstępnie oblicz skrót(y) do późniejszego użycia z batch_hash_sign Komenda. Parametr -input_dir_path jest wymagane. -program_name jest opcjonalne

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

Parametry opcjonalne:

  • If -program_name jest obecny podczas podpisywania instalatora MSI, wartość zostanie wyświetlona w oknie dialogowym potwierdzenia jako nazwa programu.

Przykład:

CodeSignTool hash -input_dir_path=input Polecenie hash wykonane pomyślnie. Pliki skrótu utworzone w: input

Wprowadzanie CodeSignTool hash bez wymaganych parametrów wyświetli informacje o użyciu dla polecenia.

wsadowy_znak_hash

Podpisz hash(y) wstępnie obliczone za pomocą hash Komenda. Parametry -access_token, input_dir_path, -otp, output_dir_path są wymagane. -credential_id jest wymagany tylko dla użytkowników posiadających więcej niż jeden certyfikat do podpisywania kodu eSigner.

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

Parametry opcjonalne:

  • If -credential_id jest pominięty, a użytkownik ma tylko jeden certyfikat do podpisywania kodu eSigner, CodeSignTool domyślnie to zrobi. Jeśli użytkownik ma więcej niż jeden certyfikat podpisujący kod, ten parametr jest obowiązkowy.

Przykład:

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

Wprowadzanie CodeSignTool batch_sign_hash bez wymaganych parametrów wyświetli informacje o użyciu dla polecenia.

Film: Podpisywanie kodu w chmurze EV za pomocą eSigner i CodeSignTool

https://youtu.be/Br25mZIlKdU
Dziękujemy za wybranie SSL.com! W razie jakichkolwiek pytań prosimy o kontakt mailowy pod adresem Support@SSL.com, połączenie 1-877-SSL-SECURElub po prostu kliknij łącze czatu w prawym dolnym rogu tej strony. Odpowiedzi na wiele często zadawanych pytań można również znaleźć w naszym baza wiedzy.
Twitter
Facebook
LinkedIn
Reddit
E-mail

Bądź na bieżąco i bezpiecznie

SSL.com jest światowym liderem w dziedzinie cyberbezpieczeństwa, PKI i certyfikaty cyfrowe. Zarejestruj się, aby otrzymywać najnowsze wiadomości branżowe, wskazówki i ogłoszenia o produktach od SSL.com.

Będziemy wdzięczni za Twoją opinię

Weź udział w naszej ankiecie i daj nam znać, co myślisz o swoim ostatnim zakupie.