CodeSignTool je bezpečný multiplatformní nástroj příkazového řádku Java zaměřený na soukromí, který umožňuje vzdálené podepisování objektů Microsoft Authenticode a kódu Java pomocí eSigner Certifikáty pro podepisování EV kódu. Na hash souborů se odesílá SSL.com k podpisu, aby nebyl odeslán samotný kód. To je ideální místo, kde je třeba podepisovat citlivé soubory, ale nemělo by se odesílat po drátu pro podpis. CodeSignTool je také ideální pro automatizované dávkové procesy pro podepisování velkých objemů nebo integraci do stávajících pracovních toků kanálu CI / CD.
Chcete-li znát všechny typy souborů, které je CodeSignTool schopen podepsat, přečtěte si tento článek: Typy souborů podporované eSignerem
Pro návod jak na to automatizujte podepisování kódu EV pomocí signtool.exe nebo certutil.exe prosím zkontrolujte to jak na to.
Pokud chcete místo toho použít esigner k podepisování dokumentů, prosím nahlédněte do této příručky DocSignTool.
Instalace CodeSignTool
Chcete-li nainstalovat aktuální verzi CodeSignTool, jednoduše stáhněte a rozbalte správný soubor pro váš operační systém:
Stahování systému Windows zahrnuje prostředí Java runtime, ale verze pro systémy Linux / macOS vyžaduje, aby byl v počítači nainstalován prostředí Java runtime. Verze příkazu pro Windows je dávkový soubor (CodeSignTool.bat
) a verze pro Linux / macOS je shell skript (CodeSignTool.sh
).
Přehled použití CodeSignTool
Použití: CodeSignTool [-hV] [COMMAND] [PARAMETERS]
Varianty:
-h
,--help
: Zobrazení nápovědy a ukončení.-V
,--version
: Zobrazení informací o verzi a ukončení.
příkazy:
get_credential_ids
: Vytvoří seznam ID identifikačních údajů eSigneru přidružených ke konkrétnímu uživateli.credential_info
: Výstupní klíč a informace o certifikátu související s ID pověření.sign
: Objekt kódu podpisu a časového razítka.batch_sign
: Podepisování a časové razítko více objektů kódu pomocí jednoho OTP.hash
: Předpočítané hodnoty hash pro pozdější použití sbatch_hash_sign
příkaz.batch_sign_hash
: Podepsat hash předpočítaný pomocíhash
příkaz.
parametry:
-access_token=<TOKEN>
: OAuth přístupový token.-credential_id=<CREDENTIAL_ID>
: ID pověření pro podpis certifikátu.-input_dir_path=<PATH>
: Vstupní adresář pro objekty kódu, které mají být podepsány, mají vypočteny hodnoty hash nebo vyberte nepodepsané soubory a odpovídající hodnoty hash pro podpis.-input_file_path=<PATH>
: Cesta objektu kódu, který má být podepsán.-otp=<OTP>
: Hodnota OTP protokolu OAuth z ověřovací aplikace.-output_dir_path=<PATH>
: Adresář, do kterého budou zapsány objekty podepsaného kódu.-password=<PASSWORD>
: Heslo účtu SSL.com.-program_name=<PROGRAM_NAME>
: Název programu (pouze pro instalátory MSI).-totp_secret=<TOTP_SECRET>
: OAuth TOTP tajemství-username=<USERNAME>
: Uživatelské jméno účtu SSL.com-override="true"
: Přepíše podepsaný soubor
-password="P!@^^ssword12"
).Příkazy CodeSignTool
get_credential_ids
Výstup seznamu identifikátorů pověření eSigner přidružených ke konkrétnímu uživateli. Parametry -username
a -password
jsou povinné.
Použití: CodeSignTool [-hV] get_credential_ids -username=<USERNAME> -password=<PASSWORD>
Příklad:
CodeSignTool get_credential_ids -username=john.doe@example.com -password="P0z9@lxo41" Credential ID(s): - fe537ace-e132-52a9-c2e7-egcd2ac3f1e6
Zadání CodeSignTool get_credential_ids
bez požadovaných parametrů zobrazí informace o použití příkazu.
pověření_info
Výstupní klíč a informace o certifikátu související s ID pověření. Parametry -credential_id
, -username
, a -password
jsou povinné.
Použití: CodeSignTool [-hV] credential_info -credential_id=<CREDENTIAL_ID> -username=<USERNAME> -password=<PASSWORD>
Příklad:
CodeSignTool credential_info -credential_id = fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -username=john.doe@example.com -password = "P0z9 @ lxo41" Informace o předmětu certifikátu EVCS: - Předmět 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 = Soukromá organizace, CN = SSL Corp, SERIALNUMBER = NV26, O = SSL Corp, L = Houston, ST = Texas, C = USA - Vypršení platnosti certifikátu: pondělí 21. února 21:37:2024 EST 3 - DN vydavatele: CN = SSL.com Podepisování kódu EV Intermediate CA RSA RXNUMX, O = SSL Corp, L = Houston, ST = Texas , C = USA
Zadání CodeSignTool credential_info
bez požadovaných parametrů zobrazí informace o použití příkazu.
scan_code
Umožňuje kontrolu malwaru před podpisem. To prohledá váš soubor, zda neobsahuje jakýkoli možný malware, aby se zabránilo kompromitaci kódu a zabrání podepsání kódu, pokud je detekován malware.
Použití: CodeSignTool scan_code [-hV] -credential_id=<credentialId> -input_file_path=<inputFilePath> -password=<password> [-program_name=<programName>] -username=<username>
Pro podrobnější informace o bezpečnostních výhodách služby SSL.com Malware Scan můžete navštívit naše vyhrazenou stránku.
podepsat
Podepsat a označit časovým razítkem. Parametry -username
, -password
, a -input_file_path
jsou povinné. -credential_id
je vyžadováno pouze pro uživatele s více než jedním certifikátem pro podepisování kódu eSigner. -output_dir_path
, -program_name
, a -totp_secret
jsou volitelné.
Použití: 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>]
Volitelné parametry:
- If
-credential_id
je vynechán a uživatel má pouze jeden certifikát pro podepisování kódu eSigner, CodeSignTool to nastaví jako výchozí. Pokud má uživatel více než jeden certifikát pro podepisování kódu, je tento parametr povinný. - If
-output_dir_path
je vynechán, soubor uvedený v-input_file_path
bude přepsán podepsaným souborem. CodeSignTool vyzve uživatele před přepsáním souboru. - If
-program_name
je k dispozici při podepisování instalačního programu MSI, hodnota se zobrazí v potvrzovacím dialogu jako název programu. - If
-totp_secret
CodeSignTool vypočítá časově závislé OTP pro podepisování, což umožní automatické použití nástroje. Pokud tento parametr není k dispozici, bude uživatel vyzván k ručnímu zadání OTP.
Příklady:
Ruční zadání OTP:
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 Vstupte do OTP - stiskněte OK : 884646 Kód podepsán úspěšně: C: \ Users \ John Doe \ Desktop \ CodeSignTool-v1.0-windows \ signed \ test.exe
Automatizované generování OTP:
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
Zadání CodeSignTool sign
bez požadovaných parametrů zobrazí informace o použití příkazu.
Error: invalid otp
při pokusu o podepsání souboru to může být způsobeno jedním nebo více z těchto problémů:
- QR kód, který jste naskenovali do své ověřovací aplikace, se neshoduje s uživatelským jménem, heslem nebo ID pověření z vašeho příkazu. K tomu může dojít, pokud:
- Ve svém zařízení máte nakonfigurováno více účtů pro 2FA a vybrali jste nesprávný.
- Pokoušíte se použít své přihlašovací údaje pro a sdílený certifikát, ale naskenovali QR kód sdílený týmovým kolegou ze svého účtu.
- Zadané OTP již vypršelo.
- Váš příkaz obsahuje neplatné tajemství TOTP.
batch_sign
Podepisujte a časová razítka až 100 souborů kódu pomocí jednoho OTP. Parametry -username
, -password
, a -input_dir_path
jsou povinné. -credential_id
je vyžadováno pouze pro uživatele s více než jedním certifikátem pro podepisování kódu eSigner. -output_dir_path
, -program_name
, a -totp_secret
jsou volitelné.
Použití: 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>]
Pokud chce uživatel provést dávkové označení s kontrolou malwaru, musí být každý objekt kódu v dávce nejprve naskenován pomocí scan_code
příkaz a poté, batch_sign
příkaz lze spustit.
Volitelné parametry:
- If
-credential_id
je vynechán a uživatel má pouze jeden certifikát pro podepisování kódu eSigner, CodeSignTool to nastaví jako výchozí. Pokud má uživatel více než jeden certifikát pro podepisování kódu, je tento parametr povinný. - If
-output_dir_path
je vynechán, soubory uvedené v-input_dir_path
bude přepsán podepsanými soubory. CodeSignTool vyzve uživatele před přepsáním souboru. - If
-program_name
je k dispozici při podepisování instalačního programu MSI, hodnota se zobrazí v potvrzovacím dialogu jako název programu. - If
-totp_secret
CodeSignTool vypočítá časově závislé OTP pro podepisování, což umožní automatické použití nástroje. Pokud tento parametr není k dispozici, bude uživatel vyzván k ručnímu zadání OTP.
Příklad:
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 = výstup Enter Příkaz dávkového podpisu byl úspěšně proveden. Výstupní adresář pro podepsané soubory: výstup
Zadání CodeSignTool batch_sign
bez požadovaných parametrů zobrazí informace o použití příkazu.
hašiš
Předběžně vypočítat hash pro pozdější použití s batch_hash_sign
příkaz. Parametr -input_dir_path
je požadováno. -program_name
je volitelné
Použití: CodeSignTool [-hV] hash -input_dir_path=<PATH> [-program_name=<PROGRAM_NAME>]
Volitelné parametry:
- If
-program_name
je k dispozici při podepisování instalačního programu MSI, hodnota se zobrazí v potvrzovacím dialogu jako název programu.
Příklad:
CodeSignTool hash -input_dir_path = vstupní příkaz Hash byl úspěšně proveden. Hash soubory vytvořené na: vstup
Zadání CodeSignTool hash
bez požadovaných parametrů zobrazí informace o použití příkazu.
batch_sign_hash
Podepsat hash předpočítaný pomocí hash
příkaz. Parametry -access_token
, input_dir_path
, -otp
, a output_dir_path
jsou povinné. -credential_id
je vyžadováno pouze pro uživatele s více než jedním certifikátem pro podepisování kódu eSigner.
Použití: CodeSignTool [-hV] batch_sign_hash -access_token=<ACCESS_TOKEN> [-credential_id=<CREDENTIAL_ID>] -input_dir_path=<PATH> -output_dir_path=<PATH> -otp=<OTP>
Volitelné parametry:
- If
-credential_id
je vynechán a uživatel má pouze jeden certifikát pro podepisování kódu eSigner, CodeSignTool to nastaví jako výchozí. Pokud má uživatel více než jeden certifikát pro podepisování kódu, je tento parametr povinný.
Příklad:
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
Zadání CodeSignTool batch_sign_hash
bez požadovaných parametrů zobrazí informace o použití příkazu.