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.
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 zbatch_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
-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.
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.
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.
znak_wsadu
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.