Certificato CODE Signing
Un certificato CODE, ufficialmente certificato Code Signing, è un certificato digitale utilizzato per firmare applicazioni, script, driver e altro software distribuito su internet. La firma digitale dimostra chi ha pubblicato il software e garantisce che il codice non sia stato alterato dopo la firma. Scopriamo i certificati CODE.
Contenuto dell'articolo
- Che cos'è un certificato CODE?
- Come funziona la firma del codice?
- Perché firmare il proprio software?
- Tipi di certificati CODE
- Certificati CODE e Windows SmartScreen
- Cloud Code Signing
Che cos'è un certificato CODE?
Un certificato Code Signing è un certificato digitale rilasciato a un editore di software – un'azienda o uno sviluppatore indipendente – da un'autorità di certificazione (CA) attendibile. Mentre un certificato SSL/TLS protegge la comunicazione tra browser e server web, un certificato CODE protegge il software stesso. Lo sviluppatore lo utilizza per apporre una firma digitale a file eseguibili, programmi di installazione, script, macro, driver o firmware prima della distribuzione.
L'autorità di certificazione rilascia un certificato CODE solo dopo aver verificato l'esistenza dell'azienda o l'identità dello sviluppatore. Grazie a questa convalida, la firma identifica chiaramente l'editore e sia l'utente sia il sistema operativo possono essere certi che il software è autentico e non è stato modificato in alcun modo durante la distribuzione (Code signing – wiki).
Come funziona la firma del codice?
La firma del codice si basa sulla crittografia asimmetrica, lo stesso principio utilizzato dai certificati SSL. Lo sviluppatore possiede una coppia di chiavi: una chiave privata e una chiave pubblica. Al momento della firma viene creata un'impronta unica (hash) del file dell'applicazione, che viene cifrata con la chiave privata dello sviluppatore. Il risultato, insieme al certificato, viene allegato al file come firma digitale.
Quando un utente scarica l'applicazione, il sistema operativo verifica la firma: decifra l'impronta con la chiave pubblica del certificato e la confronta con l'impronta effettiva del file. Se corrispondono, il codice è integro e proviene dall'editore indicato nel certificato. Se anche un solo byte dell'applicazione è stato modificato, la verifica fallisce e il sistema avvisa l'utente.
Il software non firmato è oggi praticamente impossibile da distribuire. I meccanismi di sicurezza di Microsoft come Defender SmartScreen e Smart App Control bloccano senza compromessi le applicazioni scaricate non firmate e mettono in guardia gli utenti dall'eseguirle. Un certificato CODE è quindi uno strumento essenziale per ogni azienda software e ogni sviluppatore.
La firma del codice non modifica il software in sé. Aggiunge soltanto la firma digitale al file eseguibile. Una parte importante della firma è la marca temporale (timestamp), che dimostra che il codice è stato firmato durante il periodo di validità del certificato. Una firma con marca temporale rimane attendibile anche dopo la scadenza del certificato stesso.
Perché firmare il proprio software?
Ogni editore di software che distribuisce codice o contenuti su internet ha bisogno di un certificato CODE. Anche il codice distribuito all'interno di un'azienda tramite intranet dovrebbe essere firmato a causa delle politiche di sistemi operativi come Windows e macOS. Tutti i sistemi moderni preferiscono il codice firmato per proteggere gli utenti e impedire la diffusione di software dannoso.
Vantaggi di un certificato CODE
- Dimostra l'identità dell'editore del software
- Garantisce l'integrità del codice – il software non è stato alterato
- Elimina gli avvisi "Editore sconosciuto" durante l'installazione
- Protegge il vostro nome e il vostro marchio dall'uso improprio per software contraffatto
- Aumenta la fiducia degli utenti, i download e le vendite
- Funziona per applicazioni Windows e macOS
Cosa non fa un certificato CODE
- Non cifra l'applicazione né i suoi dati
- Non garantisce che il codice sia privo di errori
- Non sostituisce un certificato SSL per il vostro sito web
- Non crea istantaneamente la reputazione SmartScreen
Tipi di certificati CODE
I certificati CODE si differenziano per il livello di convalida dell'editore. A differenza dei certificati SSL, non esiste una variante con convalida del dominio: l'autorità di certificazione verifica sempre il richiedente.
Standard Code Signing (OV)
Il certificato Code Signing standard con convalida dell'organizzazione (OV) viene rilasciato ad aziende e organizzazioni. L'autorità di certificazione verifica l'esistenza dell'azienda nei registri pubblici, il suo indirizzo e l'autorizzazione del richiedente. La firma mostra quindi il nome verificato dell'azienda come editore (CN).
Il certificato CODE più venduto oggi è il certificato Cloud CODE dell'autorità di certificazione Certum.
Code Signing per privati
Gli sviluppatori indipendenti senza un'azienda registrata possono ottenere un certificato Code Signing per sviluppatori individuali. L'autorità di certificazione verifica l'identità dello sviluppatore tramite un documento d'identità. La firma mostra quindi il nome verificato dello sviluppatore come editore. Questo certificato CODE ha proprietà identiche allo Standard Code Signing
EV Code Signing
I certificati EV Code Signing offrono il livello più alto ed esteso di convalida aziendale (Extended Validation). Sono richiesti per firmare driver in modalità kernel e componenti di sistema per Microsoft Windows. Sono destinati principalmente agli sviluppatori di hardware, agli sviluppatori di software di sistema e alle organizzazioni che richiedono il massimo livello di convalida aziendale.
Certificati CODE e Windows SmartScreen
Microsoft Defender SmartScreen è una tecnologia basata sulla reputazione che protegge gli utenti Windows durante il download di file da internet. Se un'applicazione non ha una reputazione sufficiente, SmartScreen mostra un avviso prima di eseguirla, anche se l'applicazione è firmata. La reputazione si costruisce con il numero di installazioni ed è legata non solo al software stesso, ma anche al certificato Code Signing utilizzato per la firma.
Una volta stabilita la reputazione e quando le installazioni superano SmartScreen automaticamente, le nuove versioni dell'applicazione possono essere firmate con lo stesso certificato CODE e tutto funziona senza problemi. Tuttavia, utilizzando un certificato nuovo o rinnovato, la reputazione deve essere costruita di nuovo.
In passato i certificati EV Code fornivano una reputazione SmartScreen immediata. In seguito agli aggiornamenti di sicurezza di Windows rilasciati nella primavera del 2026, Microsoft ha modificato le proprie politiche e ora tratta i certificati EV Code in modo simile ai certificati OV standard: anche per i certificati EV Code Signing la reputazione deve essere costruita. Maggiori dettagli sono disponibili alla pagina Filtro Windows SmartScreen.
Cloud Code Signing
Poiché la chiave privata di un certificato CODE deve essere conservata su hardware certificato, le autorità di certificazione spedivano tradizionalmente i certificati su token USB fisici. Cloud Code Signing elimina questa complicazione: la chiave privata viene generata e conservata nell'infrastruttura HSM sicura dell'autorità di certificazione e lo sviluppatore firma il codice da remoto, da qualsiasi luogo, subito dopo l'emissione del certificato e senza attendere la consegna di un token.
Secondo i requisiti del CA/Browser Forum, la chiave privata di un certificato CODE deve essere conservata su hardware certificato (un token fisico o un modulo HSM). Per questo i certificati CODE moderni vengono emessi principalmente come certificati cloud, in cui la chiave è custodita in modo sicuro nell'HSM dell'autorità di certificazione e lo sviluppatore firma da remoto, senza spedizione di token e senza hardware da gestire.
Un esempio tipico è il servizio Certum SimplySign, in cui la firma viene autorizzata tramite un'app mobile e funziona con strumenti standard come Microsoft SignTool. Alcuni certificati Cloud CODE possono essere integrati nelle pipeline di build CI/CD, il che li rende una scelta pratica ed economica per gli sviluppatori di oggi.
I certificati CODE sul progetto SSLmentor
Sul nostro sito troverete certificati CODE Signing affidabili delle autorità di certificazione riconosciute a livello mondiale DigiCert, Sectigo e Certum. Alla maggior parte degli sviluppatori consigliamo i certificati Cloud Code dell'autorità di certificazione europea Certum, che offriamo al miglior prezzo sul mercato.
Dove proseguire?
Torna alla Guida
Hai trovato un errore o non capisci qualcosa? Scrivici!
