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 quando i file sensibili devono essere firmati, ma non devono essere inviati via cavo per la firma. CodeSignTool è ideale anche per i processi batch automatizzati per firme di volumi elevati o per l'integrazione nei flussi di lavoro della 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
Nota: nella versione v1.3.2 di CodeSignTool, la firma del file mscab viene eseguita tramite elaborazione in memoria anziché tramite una directory tmp.
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
che a -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 anti-malware pre-firmata. Questa scansione analizza il tuo file per individuare eventuali malware, al fine di evitare la compromissione del codice e impedisce la firma del codice se viene rilevato un 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.
Esempi:
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.