INFORMATICA Software

Come firmare un’app o file exe / dll con nome propria azienda

I file che si scaricano da internet vengono spesso bloccati dal browser o dall’antivirus perchè non hanno una firma dello sviluppatore e quindi non sono attendibili. In questo articolo vediamo in breve come firmare un file eseguibile col nome della propria azienda acquistando un certificato.

Ci sono due fasi da seguire e che descriviamo di seguito.

FASE 1. ORDINE DEL CERTIFICATO

1. Scegliere una CA (autorità di certificazione), come Symantec, Thawte, Globalsign o VeriSign, e tramite il loro sito Web acquistare un certificato di firma del codice (code signing certificate).

Durante il processo di ordinazione le tue chiavi private e pubbliche verranno generate dal tuo browser e la chiave privata memorizzata sul tuo computer (solo lì).
Il processo è piuttosto complesso: dovrai dimostrare davvero che la tua azienda esiste per davvero  e dovrai inviare documenti cartacei (come documento di apertura partita iva), copie di bollette o simili. Questo è necessario solo una volta: negli anni successivi, se rinnovi il certificato di firma del codice, il processo sarà molto più semplice.

2. Quando la CA ha elaborato la tua richiesta, puoi scaricare il tuo certificato di firma del codice e accoppiarlo con la chiave privata generata al momento dell’ordine.

Ciò che molti utenti per la prima volta perdono è che la chiave privata che viene memorizzata sul computer locale. Quindi è fondamentale che tu usi lo stesso browser sullo stesso PC per assemblare tutto.
Una volta fatto ciò, puoi copiare la tua chiave + i file del certificato (ma dovrebbero essere sempre archiviati in modo sicuro, perché chiunque vi acceda può firmare il codice a tuo nome).

Solitamente ti verrà inviato a casa una chiavetta token che contiene il certificato e che dovrai usare ogni volta che intendi firmare il tuo file.

 

FASE 2. FIRMA DEL CODICE

Ogni volta che pubblichi una versione della tua applicazione dovrai firmarla.

1. Produci il tuo EXE o DLL finale, utilizzando qualsiasi strumento (come InnoSetup, Delphi, Visual Studio ecc..). Lo strumento non ha importanza. Hai solo bisogno dell’EXE o della DLL finale. (Teoricamente, potresti persino firmare l’EXE di qualcun altro, ma ovviamente non dovresti farlo.)

2. Firmare l’EXE o la DLL utilizzando il signtool di Windows. Può funzionare in modalità riga di comando o GUI.
I parametri da firmare sono (a) il tuo EXE o DLL, (b) la tua chiave privata e il certificato (in genere memorizzati insieme in un singolo file), (c) facoltativamente un URL a un servizio di timestamp (dovresti normalmente usarlo – sono disponibili servizi di timestamp gratuiti).

Un esempio di riga di comando è:

“C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe” sign /f {your cert} /p {password} /fd sha256 /tr http://timestamp.comodoca.com/?td=sha256 /td sha256 /v “{fully qualified path and filename}.exe”

3. Fatto: ora hai un EXE o una DLL firmata con il nome della tua azienda, verificato dalla CA.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *