KodeSignTool er et sikkert, fortrolighedsorienteret Java-kommandolinjeprogram til flere platforme til ekstern signering af Microsoft Authenticode og Java-kodeobjekter med eSigner EV-kodesigneringscertifikater. Hashes af filerne sendes til SSL.com til signering, så selve koden ikke sendes. Dette er ideelt, hvor følsomme filer skal signeres, men bør ikke sendes over ledningen til signering. CodeSignTool er også ideel til automatiserede batch-processer til signering af store mængder eller integration i eksisterende CI/CD-pipeline-workflows.
For at kende alle de filtyper, som CodeSignTool er i stand til at signere, henvises til denne artikel: eSigner-understøttede filtyper
Bemærk: I version v1.3.2 af CodeSignTool udføres mscab-filsignering ved hjælp af hukommelsesbehandling i stedet for at bruge en tmp-mappe.
For instruktioner om hvordan automatiser EV Code Signing ved hjælp af signtool.exe eller certutil.exe gennemse venligst denne vej.
Hvis du ønsker at bruge esigner til at underskrive dokumenter i stedet, bedes du venligst se denne DocSignTool-vejledning.
CodeSignTool installation
For at installere den aktuelle version af CodeSignTool skal du blot downloade og pakke den korrekte fil ud til dit operativsystem:
Bemærk, at Windows-download inkluderer Java-runtime, men Linux / macOS-versionen kræver, at Java-runtime er installeret på din computer. Windows-versionen af kommandoen er en batchfil (CodeSignTool.bat) og Linux / macOS-versionen er et shell-script (CodeSignTool.sh).
CodeSignTool Brugsoversigt
Anvendelse: CodeSignTool [-hV] [COMMAND] [PARAMETERS]
Valg:
-h,--help: Vis hjælpemeddelelse og afslut.-V,--version: Vis versionoplysninger og afslut.
kommandoer:
get_credential_ids: Output listen over eSigner-legitimations-id'er, der er knyttet til en bestemt bruger.credential_info: Outputnøgle og certifikatoplysninger relateret til et legitimations-id.sign: Kodeobjekt med tegn og tidsstempel.batch_sign: Underskriv og tidsstempel flere kodeobjekter med en OTP.hash: Forudberegne hash (r) til senere brug medbatch_hash_signkommando.batch_sign_hash: Tegn hash (er) forudberegnet medhashkommando.
Parametre:
-access_token=<TOKEN>: OAuth adgangstoken.-credential_id=<CREDENTIAL_ID>: Legitimations-id til underskrivelse af certifikat.-input_dir_path=<PATH>: Indtastningsmappe til kodeobjekter, der skal underskrives, har beregnet hashes, eller vælg usignerede filer og tilsvarende hashes til signering.-input_file_path=<PATH>: Sti til kodeobjekt, der skal underskrives.-otp=<OTP>: OAuth OTP-værdi fra godkendelsesapp.-output_dir_path=<PATH>: Katalog hvor underskrevet kodeobjekt vil blive skrevet.-password=<PASSWORD>: SSL.com-kontoadgangskode.-program_name=<PROGRAM_NAME>: Programmets navn (kun for MSI-installatører).-totp_secret=<TOTP_SECRET>: OAuth TOTP hemmelighed-username=<USERNAME>: SSL.com-konto brugernavn-override="true": Overskriver den signerede fil
-password="P!@^^ssword12").CodeSignTool-kommandoer
get_credential_ids
Output listen over eSigner-legitimations-id'er, der er knyttet til en bestemt bruger. Parametre -username og -password er krævet.
Anvendelse: CodeSignTool [-hV] get_credential_ids -username=<USERNAME> -password=<PASSWORD>
Eksempel:
CodeSignTool get_credential_ids -username=john.doe@example.com -password="P0z9@lxo41" Credential ID(s): - fe537ace-e132-52a9-c2e7-egcd2ac3f1e6
Indtastning CodeSignTool get_credential_ids uden de krævede parametre vises brugsinformation for kommandoen.
legitimationsoplysninger
Outputnøgle og certifikatoplysninger relateret til et legitimations-id. Parametre -credential_id, -usernameog -password er krævet.
Anvendelse: CodeSignTool [-hV] credential_info -credential_id=<CREDENTIAL_ID> -username=<USERNAME> -password=<PASSWORD>
Eksempel:
CodeSignTool credential_info -credential_id = fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -brugernavn=john.doe@example.com -password = "P0z9 @ lxo41" EVCS-certifikat Emneoplysninger: - Emne DN: 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 = Privat organisation, CN = SSL Corp, SERIALNUMBER = NV26, O = SSL Corp, L = Houston, ST = Texas, C = US - Certifikat udløber: Man 21. feb 21:37:2024 EST 3 - Udsteder DN: CN = SSL.com EV-kodesignering mellemliggende CA RSA RXNUMX, O = SSL Corp, L = Houston, ST = Texas , C = US
Indtastning CodeSignTool credential_info uden de krævede parametre vises brugsinformation for kommandoen.
scan_kode
Aktiverer forhåndssignering af malware-scanning. Dette scanner din fil for eventuel malware for at undgå kodekompromittering og forhindrer signering af kode, hvis der opdages malware.
Anvendelse: CodeSignTool scan_code [-hV] -credential_id=<credentialId> -input_file_path=<inputFilePath> -password=<password> [-program_name=<programName>] -username=<username>
For mere detaljeret information om sikkerhedsfordelene ved SSL.coms Malware Scan-tjeneste kan du besøge vores dedikeret side.
underskrive
Tegn og tidsstempel kode objekt. Parametre -username, -passwordog -input_file_path er krævet. -credential_id kræves kun for brugere med mere end et eSigner-kodesigneringscertifikat. -output_dir_path, -program_nameog -totp_secret er valgfri.
Anvendelse: 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>]
Valgfri parametre:
- If
-credential_idudelades, og brugeren har kun et eSigner-kodesigneringscertifikat, vil CodeSignTool som standard være det. Hvis brugeren har mere end et kodesigneringscertifikat, er denne parameter obligatorisk. - If
-output_dir_pather udeladt, er filen angivet i-input_file_pathoverskrives med den underskrevne fil. CodeSignTool vil bede brugeren om, før filen overskrives. - If
-program_nameer til stede, når du underskriver et MSI-installationsprogram, vises værdien i bekræftelsesdialogen som programnavnet. - If
-totp_secreter til stede, beregner CodeSignTool en tidsbaseret OTP til signering, hvilket tillader automatisk brug af værktøjet. Hvis denne parameter ikke er til stede, bliver brugeren bedt om manuel OTP-indtastning.
eksempler:
Manuel OTP-indtastning:
CodeSignTool sign -credential_id = fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -username=john.doe@example.com -password = "P0z9 @ lxo41" -output_dir_path = signeret -input_file_path = test.exe Indtast OTP - tryk enter : 884646 Kode signeret med succes: C: \ Brugere \ John Doe \ Desktop \ CodeSignTool-v1.0-windows \ signeret \ test.exe
Automatiseret OTP-generation:
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
Indtastning CodeSignTool sign uden de krævede parametre vises brugsinformation for kommandoen.
Error: invalid otp når du forsøger at underskrive en fil, kan det være forårsaget af et eller flere af disse problemer:
- QR-koden, du scannede i din godkendelsesapp, svarer ikke til brugernavnet, adgangskoden og / eller legitimations-ID fra din kommando. Dette kan ske, hvis:
- Du har konfigureret flere konti til 2FA på din enhed og valgt den forkerte.
- Du forsøger at bruge dine loginoplysninger til en delt certifikat, men scannede en QR-kode, der deles af en holdkammerat fra deres konto.
- Den indtastede OTP er allerede udløbet.
- Din kommando indeholder en ugyldig TOTP-hemmelighed.
batch_tegn
Signer og tidsstempel op til 100 kodefiler med en OTP. Parametre -username, -passwordog -input_dir_path er krævet. -credential_id kræves kun for brugere med mere end et eSigner-kodesigneringscertifikat. -output_dir_path, -program_nameog -totp_secret er valgfri.
Anvendelse: 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>]
Hvis en bruger ønsker at udføre batch-tegn med malware-kontrol, skal hvert kodeobjekt i batchen først scannes med scan_code kommando og derefter bagefter batch_sign kommando kan køres.
Valgfri parametre:
- If
-credential_idudelades, og brugeren har kun et eSigner-kodesigneringscertifikat, vil CodeSignTool som standard være det. Hvis brugeren har mere end et kodesigneringscertifikat, er denne parameter obligatorisk. - If
-output_dir_pathudelades, er filerne specificeret i-input_dir_pathvil blive overskrevet med de underskrevne filer. CodeSignTool vil bede brugeren om, før filen overskrives. - If
-program_nameer til stede, når du underskriver et MSI-installationsprogram, vises værdien i bekræftelsesdialogen som programnavnet. - If
-totp_secreter til stede, beregner CodeSignTool en tidsbaseret OTP til signering, hvilket tillader automatisk brug af værktøjet. Hvis denne parameter ikke er til stede, bliver brugeren bedt om manuel OTP-indtastning.
Eksempel:
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 Indtast OTP 455145: tryk enter Batch-tegnkommando udført med succes. Outputmappe til signerede filer: output
Indtastning CodeSignTool batch_sign uden de krævede parametre vises brugsinformation for kommandoen.
hash
Forudberegn hash (er) til senere brug med batch_hash_sign kommando. Parameter -input_dir_path er nødvendigt. -program_name er valgfri
Anvendelse: CodeSignTool [-hV] hash -input_dir_path=<PATH> [-program_name=<PROGRAM_NAME>]
Valgfri parametre:
- If
-program_nameer til stede, når du underskriver et MSI-installationsprogram, vises værdien i bekræftelsesdialogen som programnavnet.
Eksempel:
CodeSignTool hash -input_dir_path = input Hash-kommando udført med succes. Hash-filer oprettet ved: input
Indtastning CodeSignTool hash uden de krævede parametre vises brugsinformation for kommandoen.
batch_sign_hash
Tegn hash (er) forudberegnet med hash kommando. Parametre -access_token, input_dir_path, -otpog output_dir_path er krævet. -credential_id kræves kun for brugere med mere end et eSigner-kodesigneringscertifikat.
Anvendelse: CodeSignTool [-hV] batch_sign_hash -access_token=<ACCESS_TOKEN> [-credential_id=<CREDENTIAL_ID>] -input_dir_path=<PATH> -output_dir_path=<PATH> -otp=<OTP>
Valgfri parametre:
- If
-credential_idudelades, og brugeren har kun et eSigner-kodesigneringscertifikat, vil CodeSignTool som standard være det. Hvis brugeren har mere end et kodesigneringscertifikat, er denne parameter obligatorisk.
Eksempel:
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
Indtastning CodeSignTool batch_sign_hash uden de krævede parametre vises brugsinformation for kommandoen.