Ho un certificato di firma del codice da StartCom (StartSSL). Sono molto soddisfatto del loro servizio: il loro servizio clienti è molto veloce ei loro prezzi sono molto ragionevoli.
Ottenere il certificato di firma del codice
Ottenere un certificato di firma del codice richiede la convalida dell'identità di classe 2 . StartCom ti guida attraverso l'intero processo (con eccellenti tassi di risposta, di solito entro dieci minuti nella mia esperienza).
Se vuoi ottenere subito i dettagli, leggi questo post del blog . Sono stato convalidato entro un'ora (per una tariffa di 59,90 $, tramite Paypal).
Dopo essere stato convalidato, genera una nuova chiave privata e una richiesta di firma del certificato (CSR). Notare che tutti i campi ad eccezione della chiave pubblica vengono ignorati . Tutte le informazioni nel certificato vengono dedotte dalle informazioni fornite durante la convalida dell'identità, non dalla CSR .
Invia questo tramite l'interfaccia web e riceverai rapidamente un nuovo certificato valido per due anni (ho ricevuto il mio entro un'ora).
Problema: OID con firma a vita
I certificati di classe 2 di StartCom hanno impostato l'OID di firma a vita. A causa di questo bit, la firma del codice firmato non sarà più valida dopo la scadenza del certificato, anche se ha il timestamp.
Quando ho chiesto a Eddy Nigg (COO / CTO di StartCom) il motivo di questo OID, ha risposto:
Richiede da parte nostra di mantenere le CRL operative fino a 20 anni dopo la scadenza dei certificati. Questo è qualcosa che possiamo fare per i certificati di livello EV (volume molto più basso, termini di pagamento diversi) ma aumenterebbe il prezzo per la Classe 2 solo per questo vantaggio (dove la firma del codice è solo una parte delle opzioni in questo livello).
Il timestamp è quindi disponibile solo dopo Extended Validation (EV), che è disponibile solo per le organizzazioni legalmente stabilite e costa 199,90 $. Pertanto, i singoli sviluppatori non possono utilizzare il timestamp con un certificato di firma del codice da StartCom .
Per molto tempo ho considerato questa limitazione come un grosso problema. Di recente, ho cambiato idea: succede solo una volta ogni due anni, gli utenti attenti alla sicurezza potrebbero essere più inclini a ottenere l'ultima versione del mio software e le vecchie versioni del software continueranno a funzionare (per coloro che vogliono usarlo; sebbene senza una firma verificata).
Nota: segnate sempre la data e l'ora del codice, anche quando è impostato il flag Firma a vita ! Le firme timestamp rimarranno valide fino alla data di scadenza del certificato, anche quando il certificato è stato revocato (ovviamente, solo se la firma è stata creata prima della revoca del certificato).
Uso pratico del certificato
In StartCom paghi solo per la convalida. La convalida dell'identità è valida per 350 giorni e durante questo periodo è possibile richiedere gratuitamente certificati di firma del codice. Puoi avere un solo certificato di firma del codice valido e può essere utilizzato per firmare qualsiasi codice (MSI, DLL, XPI, ...) ma non il codice del driver (questo richiede EV).
Per modificare un attributo del certificato, è necessario revocare il certificato precedente e richiederne uno nuovo. La revoca di un certificato costa 29,90 $. Tuttavia, quando ho cambiato la mia e-mail un giorno dopo aver ricevuto un certificato di firma del codice, hanno eccezionalmente revocato il mio certificato senza costi (sono rimasto positivamente sorpreso)!
Scadenza
Quando il tuo certificato sta per scadere (dopo quasi due anni), ricevi una notifica (due settimane prima). Se la tua identità verificata è ancora valida (ricorda che le convalide scadono dopo 350 giorni; quindi devi confermare nuovamente la tua identità per 59,90 $), puoi richiedere un nuovo certificato senza revocare quello precedente. Non dimenticare di pubblicare una nuova versione del tuo software che sia firmata con questo nuovo certificato di firma del codice, perché le versioni precedenti mostreranno presto "(non verificato)" o qualcosa di simile.
OCSP
Quando ho ricevuto il mio certificato, ho firmato il mio componente aggiuntivo per Firefox. Tuttavia, mostrava ancora "(Autore non verificato)", anche se il mio file XPI era firmato correttamente. Si è scoperto che Firefox non ha ottenuto lo stato del certificato corrente quando ha richiesto ai server OCSP di StartCom lo stato di revoca del mio nuovo certificato. argomento del forum possibilmente rilevante
Dopo circa mezza giornata, il mio certificato era noto ai server OCSP e il mio nome è apparso come previsto. Lezione appresa: quando hai un nuovo certificato, attendi circa un giorno prima di pubblicare il software con la nuova firma.