CodeSignTool è un'utilità della riga di comando Java multipiattaforma sicura e orientata alla privacy per la firma remota di oggetti di codice Microsoft Authenticode e Java con firmatario elettronico Certificati di firma del codice EV. Gli hash dei file vengono inviati a SSL.com per la firma in modo che il codice stesso non venga inviato. Questo è l'ideale dove i file sensibili devono essere firmati, ma non devono essere inviati in rete per la firma. CodeSignTool è ideale anche per processi batch automatizzati per firme di grandi volumi o per l'integrazione in flussi di lavoro di pipeline CI/CD esistenti.
Per conoscere tutti i tipi di file che CodeSignTool è in grado di firmare, fai riferimento a questo articolo: Tipi di file supportati da eSigner
Per istruzioni su come automatizzare la firma del codice EV utilizzando signtool.exe o certutil.exe per favore rivedere questo come fare.
Se invece stai cercando di utilizzare esigner per firmare documenti, per favore fare riferimento a questa guida di DocSignTool.
CodeSignTool Installazione
Per installare la versione corrente di CodeSignTool, è sufficiente scaricare e decomprimere il file corretto per il proprio sistema operativo:
Tieni presente che il download di Windows include Java runtime, ma la versione Linux/macOS richiede l'installazione di Java runtime sul tuo computer. La versione Windows del comando è un file batch (CodeSignTool.bat
) e la versione Linux / macOS è uno script di shell (CodeSignTool.sh
).
Panoramica sull'utilizzo di CodeSignTool
Uso: CodeSignTool [-hV] [COMMAND] [PARAMETERS]
Opzioni:
-h
,--help
: Visualizza il messaggio della guida ed esce.-V
,--version
: Visualizza le informazioni sulla versione ed esce.
comandi:
get_credential_ids
: emette l'elenco degli ID delle credenziali eSigner associati a un determinato utente.credential_info
: fornisce informazioni sulla chiave e sul certificato relative a un ID credenziale.sign
: Oggetto codice segno e marca temporale.batch_sign
: Firma e contrassegna più oggetti di codice con una OTP.hash
: Pre-calcolare hash per un uso successivo conbatch_hash_sign
comando.batch_sign_hash
: Firma gli hash pre-calcolati conhash
comando.
parametri:
-access_token=<TOKEN>
: OAut token di accesso.-credential_id=<CREDENTIAL_ID>
: ID credenziale per la firma del certificato.-input_dir_path=<PATH>
: directory di input per gli oggetti di codice da firmare, per il calcolo degli hash o per selezionare file non firmati e gli hash corrispondenti per la firma.-input_file_path=<PATH>
: Percorso dell'oggetto codice da firmare.-otp=<OTP>
: valore OAuth OTP dall'app di autenticazione.-output_dir_path=<PATH>
: Directory in cui verranno scritti gli oggetti con codice firmato.-password=<PASSWORD>
: password dell'account SSL.com.-program_name=<PROGRAM_NAME>
: Nome del programma (solo per installatori MSI).-totp_secret=<TOTP_SECRET>
: OAut Segreto TOTP-username=<USERNAME>
: nome utente dell'account SSL.com-override="true"
: sovrascrive il file firmato
-password="P!@^^ssword12"
).Comandi CodeSignTool
get_credential_ids
Emetti l'elenco degli ID delle credenziali eSigner associati a un particolare utente. Parametri -username
e -password
sono necessarie.
Uso: CodeSignTool [-hV] get_credential_ids -username=<USERNAME> -password=<PASSWORD>
Esempio:
CodeSignTool get_credential_ids -username=john.doe@example.com -password="P0z9@lxo41" Credential ID(s): - fe537ace-e132-52a9-c2e7-egcd2ac3f1e6
Entrando CodeSignTool get_credential_ids
senza i parametri richiesti verranno visualizzate le informazioni sull'utilizzo del comando.
credenziali_info
Informazioni sulla chiave e sul certificato di output relative a un ID credenziale. Parametri -credential_id
, -username
e -password
sono necessarie.
Uso: CodeSignTool [-hV] credential_info -credential_id=<CREDENTIAL_ID> -username=<USERNAME> -password=<PASSWORD>
Esempio:
CodeSignTool credential_info -credential_id=fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -username=john.doe@example.com -password="P0z9@lxo41" Informazioni sull'oggetto del certificato EVCS: - DN oggetto: 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=Organizzazione privata, CN=SSL Corp, SERIALNUMBER=NV26, O=SSL Corp, L=Houston, ST=Texas, C=US - Scadenza certificato: Mon Feb 21 21:37:2024 EST 3 - DN emittente: CN=SSL.com EV Code Signing Intermediate CA RSA RXNUMX, O=SSL Corp, L=Houston, ST=Texas , C=US
Entrando CodeSignTool credential_info
senza i parametri richiesti verranno visualizzate le informazioni sull'utilizzo del comando.
scan_codice
Abilita la scansione malware pre-firma. Questo esegue la scansione del tuo file alla ricerca di eventuali malware per evitare la compromissione del codice e impedisce la firma del codice se viene rilevato malware.
Uso: CodeSignTool scan_code [-hV] -credential_id=<credentialId> -input_file_path=<inputFilePath> -password=<password> [-program_name=<programName>] -username=<username>
Per informazioni più dettagliate sui vantaggi in termini di sicurezza del servizio di scansione malware di SSL.com, puoi visitare il nostro pagina dedicata.
segno
Oggetto codice segno e marca temporale. Parametri -username
, -password
e -input_file_path
sono necessarie. -credential_id
è richiesto solo per gli utenti con più di un certificato di firma del codice eSigner. -output_dir_path
, -program_name
e -totp_secret
sono opzionali.
Uso: 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>]
Parametri opzionali:
- If
-credential_id
viene omesso e l'utente ha un solo certificato di firma del codice eSigner, CodeSignTool lo utilizzerà per impostazione predefinita. Se l'utente dispone di più di un certificato di firma del codice, questo parametro è obbligatorio. - If
-output_dir_path
viene omesso, il file specificato in-input_file_path
verrà sovrascritto con il file firmato. CodeSignTool chiederà all'utente prima di sovrascrivere il file. - If
-program_name
è presente quando si firma un programma di installazione MSI, il valore verrà visualizzato nella finestra di dialogo di conferma come nome del programma. - If
-totp_secret
è presente, CodeSignTool calcolerà una OTP basata sul tempo per la firma, consentendo l'uso automatizzato dello strumento. Se questo parametro non è presente, all'utente verrà richiesto di inserire manualmente l'OTP.
Consigli d'uso:
Inserimento OTP manuale:
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 Inserisci l'OTP - Premi invio per continuare : 884646 Codice firmato con successo: C:\Users\John Doe\Desktop\CodeSignTool-v1.0-windows\signed\test.exe
Generazione OTP automatizzata:
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
Entrando CodeSignTool sign
senza i parametri richiesti verranno visualizzate le informazioni sull'utilizzo del comando.
Error: invalid otp
quando si tenta di firmare un file, potrebbe essere causato da uno o più di questi problemi:
- Il codice QR che hai scansionato nella tua app di autenticazione non corrisponde al nome utente, alla password e / o all'ID credenziale del tuo comando. Questo potrebbe accadere se:
- Hai più account configurati per 2FA sul tuo dispositivo e hai scelto quello sbagliato.
- Stai tentando di utilizzare le tue credenziali di accesso per un file certificato condiviso, ma ha scansionato un codice QR condiviso da un compagno di squadra dal proprio account.
- L'OTP che hai inserito è già scaduto.
- Il tuo comando include un segreto TOTP non valido.
segno_batch
Firma e contrassegna fino a 100 file di codice con una OTP. Parametri -username
, -password
e -input_dir_path
sono necessarie. -credential_id
è richiesto solo per gli utenti con più di un certificato di firma del codice eSigner. -output_dir_path
, -program_name
e -totp_secret
sono opzionali.
Uso: 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>]
Se un utente desidera eseguire la firma batch con controllo malware, ogni oggetto di codice nel batch deve prima essere scansionato con scan_code
comando e poi successivamente, il batch_sign
è possibile eseguire il comando.
Parametri opzionali:
- If
-credential_id
viene omesso e l'utente ha un solo certificato di firma del codice eSigner, CodeSignTool lo utilizzerà per impostazione predefinita. Se l'utente dispone di più di un certificato di firma del codice, questo parametro è obbligatorio. - If
-output_dir_path
viene omesso, i file specificati in-input_dir_path
verrà sovrascritto con i file firmati. CodeSignTool chiederà all'utente prima di sovrascrivere il file. - If
-program_name
è presente quando si firma un programma di installazione MSI, il valore verrà visualizzato nella finestra di dialogo di conferma come nome del programma. - If
-totp_secret
è presente, CodeSignTool calcolerà una OTP basata sul tempo per la firma, consentendo l'uso automatizzato dello strumento. Se questo parametro non è presente, all'utente verrà richiesto di inserire manualmente l'OTP.
Esempio:
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 Inserisci OTP - Premi invio per continuare: 455145 Comando di firma batch eseguito correttamente. Directory di output per i file firmati: output
Entrando CodeSignTool batch_sign
senza i parametri richiesti verranno visualizzate le informazioni sull'utilizzo del comando.
hash
Pre-calcolare hash per un uso successivo con batch_hash_sign
comando. Parametro -input_dir_path
è richiesto. -program_name
è opzionale
Uso: CodeSignTool [-hV] hash -input_dir_path=<PATH> [-program_name=<PROGRAM_NAME>]
Parametri opzionali:
- If
-program_name
è presente quando si firma un programma di installazione MSI, il valore verrà visualizzato nella finestra di dialogo di conferma come nome del programma.
Esempio:
CodeSignTool hash -input_dir_path=input Il comando hash è stato eseguito correttamente. File hash creati su: input
Entrando CodeSignTool hash
senza i parametri richiesti verranno visualizzate le informazioni sull'utilizzo del comando.
batch_sign_hash
Firma hash(es) pre-calcolato con hash
comando. Parametri -access_token
, input_dir_path
, -otp
e output_dir_path
sono necessarie. -credential_id
è richiesto solo per gli utenti con più di un certificato di firma del codice eSigner.
Uso: CodeSignTool [-hV] batch_sign_hash -access_token=<ACCESS_TOKEN> [-credential_id=<CREDENTIAL_ID>] -input_dir_path=<PATH> -output_dir_path=<PATH> -otp=<OTP>
Parametri opzionali:
- If
-credential_id
viene omesso e l'utente ha un solo certificato di firma del codice eSigner, CodeSignTool lo utilizzerà per impostazione predefinita. Se l'utente dispone di più di un certificato di firma del codice, questo parametro è obbligatorio.
Esempio:
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
Entrando CodeSignTool batch_sign_hash
senza i parametri richiesti verranno visualizzate le informazioni sull'utilizzo del comando.