Come automatizzare la firma del codice EV con SignTool.exe o Certutil.exe utilizzando eSigner CKA (Cloud Key Adapter)

eSigner CKA (adattatore chiave cloud) è un'applicazione basata su Windows che utilizza l'interfaccia CNG (KSP Key Service Provider) per consentire a strumenti come certutil.exe e signtool.exe di utilizzare l'API eSigner CSC per le operazioni di firma. Agisce come un token USB virtuale e carica i certificati di firma del codice nell'archivio certificati. Questa funzionalità contribuisce a rendere il certificato eSigner più flessibile, con opzioni per automatizzare le firme nei processi CI/CD che non sono disponibili con un token USB fisico.

Questa guida mostra come eseguire la firma manuale e automatica del codice su Windows SignTool utilizzando un certificato di produzione o un certificato di prova. 

Nota: eSigner CKA consente opzioni flessibili per automatizzare le firme nei processi CI/CD che non esistono con un token USB fisico. Per una guida su come utilizzare eSigner CKA per la firma automatica del codice negli strumenti CI/CD tra cui CircleCI, GitHub Actions, Gitlab CI e Travis CI, visita questa pagina: Come integrare eSigner CKA con gli strumenti CI/CD per la firma automatica del codice.

Requisiti

  1. Un certificato di firma del codice emesso da SSLcom. 
  2. Il certificato di firma del codice deve essere attualmente registrato su eSigner. Fare riferimento a questa guida: Iscriviti con eSigner per la firma remota di documenti e codici
  3. Installa eSigner CKA sul tuo computer e configura la modalità di firma (manuale o automatica) e il tipo di firma (produzione o test). Fai riferimento a questo articolo per le istruzioni di installazione: Come installare SSL.com eSigner Cloud Key Adapter (CKA).

Gli utenti possono firmare il codice con la funzionalità Extended Validation Code Signing di eSigner. Clicca sotto per maggiori informazioni.

SCOPRI DI PIÙ

Procedura facoltativa: utilizzare la scansione antimalware pre-firma

Malware Scan è un servizio cruciale di SSL.com che assicura che il software sia privo di malware prima che venga firmato con un certificato di firma del codice. Integrando Malware Scan, gli sviluppatori aggiungono un solido livello di sicurezza, interrompendo automaticamente il processo di firma se viene rilevato un malware e avvisando lo sviluppatore di intraprendere le azioni necessarie.

Preparazione:

  1. Accedi al tuo account SSL.com. Fare clic sulla scheda degli ordini seguita da scarica link del tuo certificato per visualizzarne i dettagli. Scorri verso il basso fino a CREDENZIALI DI FIRMA sezione e individuare la parte che mostra le credenziali del certificato eSigner. Assicurati che i pulsanti di opzione che dicono credenziale di firma abilitata che a  blocco malware abilitato sono scelti.
  2. Installa l'adattatore per chiave cloud eSigner.
  3. Installare eSigner CodeSignTool. Clic qui per scaricare eSigner CodeSignTool.
  4. Scansiona il codice su CodeSignTool usando il seguente comando: scan_code [-hV] -input_file_path=<inputFilePath> -password=<PASSWORD> [-program_name=<programName>] -username=<USERNAME>
  5. Usa SignTool per firmare il codice con eSigner CKA usando il seguente comando: scan_code -username=<USERNAME> -password=<PASSWORD> -credential_id=<eSigner Credential ID> -input_file_path=<inputFilePath>

parametri:

  • -input_file_path=<PATH>: Percorso dell'oggetto codice da firmare.
  • -username=<USERNAME>SSL.com nome utente dell'account
  • -password=<PASSWORD>SSL.com password dell'account.
  • -program_name=<PROGRAM_NAME>: Nome del programma
  • -credential_id=<CREDENTIAL_ID>: ID credenziale per la firma del certificato. Il tuo ID credenziale eSigner si trova nel tuo SSL.com pagina dell'ordine del certificato.

Formulare il comando per il codice di firma

Componenti del comando

Per la firma del codice sia manuale che automatica, il comando contiene:

  1. La posizione di SignTool (strumento da riga di comando che è responsabile della firma digitale di un file e verifica la firma), racchiusa tra virgolette doppie. Esempio: “C:\Programmi (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe"
    Nota: la posizione di SignTool dipenderà dalla versione dell'SDK scaricata e dall'architettura utilizzata.
  2. Le /fdsha256 opzione che specifica l'algoritmo hash
  3. Le / tr http://ts.ssl.com opzione che specifica l'indirizzo del server timestamp
  4. /td sha256 opzione che specifica l'algoritmo di digest del timestamp
  5. Le /sha1 opzione che specifica l'identificazione personale che SignTool utilizza per trovare il certificato di firma del codice appropriato dall'archivio chiavi
  6. Il reale certificato impronta digitale
  7. Il percorso del file che verrà firmato, racchiuso tra virgolette doppie: “SIGNABLE FILE PATH”

Nel complesso il comando dovrebbe apparire come segue: 

"C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe" sign /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 identificazione personale del certificato " PERCORSO FILE FIRMABILE”

Nota: Per impostazione predefinita, SSL.com supporta i timestamp delle chiavi ECDSA.

Se riscontri questo errore: The timestamp certificate does not meet a minimum public key length requirement, è necessario contattare il fornitore del software per consentire i timestamp dalle chiavi ECDSA.

Se non è possibile per il tuo fornitore di software consentire l'utilizzo dell'endpoint normale, puoi utilizzare questo endpoint legacy http://ts.ssl.com/legacy per ottenere un timestamp da un'unità di timestamp RSA.

Individuazione dell'impronta digitale del tuo certificato

Successivamente, dopo aver installato eSigner CKA e aver aggiunto il certificato di firma del codice EV al file Archivio certificati utente, sarai in grado di controllare l'identificazione personale del certificato di firma del codice EV premendo Tasto Windows + R e poi digita certmgr.msc per accedere all'archivio certificati utente. Quando viene visualizzata la finestra di gestione dei certificati, fare clic su MONITOR PERSONALI cartella nel pannello di sinistra e quindi selezionare il Certificati sottocartella a destra per individuare il certificato di firma del codice EV.

Fare doppio clic sul certificato. Seleziona i Dettagli scheda e poi scorri verso il basso per rivelare l'impronta digitale. Copia l'impronta digitale e includila nel tuo comando quando firmi il codice.

Firma manuale del codice

Installa eSigner CKA

Accedi a SignTool tramite la riga di comando

Ricordiamo che il comando per la firma del codice è simile al seguente: 

"C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe" sign /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 identificazione personale del certificato " PERCORSO FILE FIRMABILE”

Dopo aver scritto il comando e premuto entrare, vedrai il messaggio Aggiunta di un negozio aggiuntivo completata. Verrà quindi visualizzata una finestra che richiede di inserire il nome utente e la password dell'account SSL.com.

Inserisci la password monouso (OTP) 

Una password monouso (OTP) per il certificato di firma del codice EV registrato con eSigner verrà inviata all'app Authenticator. Dopo aver immesso correttamente, il prompt dei comandi indicherà che il file è stato firmato correttamente.

Riuscito! Il tuo codice è ora firmato. 

Controllare la firma digitale sul file

Dopo aver eseguito correttamente la firma del codice, ora puoi controllare i dettagli della firma digitale sul file. Fare clic con il pulsante destro del mouse sul file firmato, fare clic su Properties, seguito dal Firme digitali Tab. Qui vedrai il nome del firmatario, l'algoritmo digest utilizzato e il timestamp della firma. Clicca il Dettagli pulsante per ottenere maggiori informazioni sul codice firmato.

Potrai leggere le informazioni che indicano Questa firma digitale è OK. Procedi a fare clic su Visualizza certificato pulsante.

Dopo aver cliccato il Visualizza certificato leggerai le informazioni che indicano che il Certificato Digitale emesso per il file firmato garantisce che provenga dall'editore e lo protegge da alterazioni dopo la pubblicazione.

Firma del codice automatizzata

Accedi a SignTool tramite il comando

Ricordiamo che il comando per la firma del codice è simile al seguente: 

C:\Programmi (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe” segno /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 certificato identificazione personale “SIGNABLE PERCORSO DEL FILE"

Apri Prompt dei comandi che a inserisci il comando. Dopo aver premuto invio, vedrai l'avviso che dice Aggiunta di un negozio aggiuntivo completata.

Dopo alcuni secondi, vedrai l'avviso Firmato con successo. Ciò indica che il tuo file è stato firmato in modo automatico, senza la necessità aggiuntiva di OTP. 

Verifica la presenza della firma digitale sul tuo file

Apri la posizione della cartella del file firmato. Fare clic con il pulsante destro del mouse e quindi fare clic Properties. Fare clic sulla scheda Firme digitali e qui vedrai l'algoritmo di hash sicuro utilizzato ha 256 bit. Fare clic sullo spazio immediato che mostra il nome del firmatario, l'algoritmo digest e il timestamp. Dopo che è stato evidenziato, procedi a fare clic su Dettagli pulsante.

Verrà quindi visualizzata una finestra pop-up che indica che la firma digitale sul file è valida e indica l'ora specifica in cui è stata firmata. Clicca il Visualizza certificato per visualizzare ulteriori informazioni sul certificato digitale EV Code Signing che è stato emesso. 

Vedrai le informazioni sul certificato di firma del codice EV che afferma che ti convalida come creatore dell'eseguibile e protegge il tuo file da manomissioni. 

Guide correlate alla firma del codice tramite eSigner CKA

Rimani informato e sicuro

SSL.com è un leader globale nella sicurezza informatica, PKI e certificati digitali. Iscriviti per ricevere le ultime notizie del settore, suggerimenti e annunci di prodotti da SSL.com.

Ci piacerebbe il tuo feedback

Partecipa al nostro sondaggio e facci sapere cosa ne pensi del tuo recente acquisto.