top of page

Firma del codice gratuita per l'open source: la nostra candidatura a SignPath 🔏

Immagine del redattore: Marcel Dütscher
Marcel Dütscher
12 lug
Tempo di lettura: 2 min

Chi installa il nostro gioco su Windows conoscerà forse quel momento: «Windows ha protetto il PC», SmartScreen avvisa di un «editore sconosciuto» e bisogna prima cliccare su «Ulteriori informazioni → Esegui comunque». Non è un virus: è solo perché i nostri installer non sono ancora firmati. Vogliamo far sparire quell'avviso, senza dover comprare un certificato costoso.


Il problema dei certificati di firma del codice. Un certificato di editore per Windows (OV o EV) costa ogni anno, spesso con verifica dell'azienda e un token hardware. Per uno studio commerciale è una voce di spesa come tante. Per un progetto open source di famiglia è un vero ostacolo, e in un certo senso anche quello sbagliato: noi siamo trasparenti, tutto il codice sorgente è pubblico.


La soluzione: la SignPath Foundation. SignPath offre la firma del codice gratis ai progetti open source. È esattamente ciò per cui abbiamo fatto richiesta. Non è ancora stato approvato niente, la valutazione è in corso, ma la preparazione è stata abbastanza istruttiva da condividerla. Se volete firmare un vostro progetto open source, ecco cosa abbiamo dovuto fare.


1. I requisiti. Un repository pubblico, una licenza riconosciuta dall'OSI (nel nostro caso AGPL-3.0), release pubblicate con uno sviluppo visibilmente attivo e documentazione, e, requisito irrinunciabile: autenticazione a due fattori sull'account GitHub. Aiuta anche un po' di reputazione del progetto: un sito web, dei video, qualche stella.


2. La policy di firma del codice (la parte più importante). SignPath vuole sapere esattamente come avviene la firma nel vostro progetto. Così abbiamo aggiunto al repo un CODE_SIGNING.md che spiega: qual è il repository ufficiale, quali artefatti vengono firmati, che firma solo il workflow di release della CI (mai una build locale sul portatile di qualcuno), chi approva le release e un link all'informativa sulla privacy. Questo punto è il cuore della candidatura.


3. La pagina di download deve citare SignPath. Il modulo chiede un «URL di download» che faccia riferimento a SignPath. Per questo abbiamo riscritto l'avviso di sicurezza nel nostro README. Ci teniamo all'onestà: finché non è firmato ancora niente, c'è scritto chiaramente che la firma è al momento in fase di preparazione, senza promettere nulla che non sia ancora vero.


4. Una vera informativa sulla privacy. Se il vostro software tratta dati (nel nostro caso segnalazioni di crash e account dei giocatori) serve una vera informativa GDPR, non un testo segnaposto preso da un sito fai-da-te.


5. Invio. Compilare il modulo (repo, homepage, URL di download e di privacy, una frase sul progetto, reputazione, sistema di build = GitHub Actions), spuntare le caselle obbligatorie e inviare.


Ora aspettiamo: la valutazione è manuale, di solito dura una o due settimane, forse con qualche domanda in più. Se viene approvata, inseriremo il passaggio di firma nella nostra pipeline CI, e poi l'avviso di SmartScreen sparirà per tutti quelli che scaricano il gioco. Appena avremo una risposta, seguirà la seconda parte con l'integrazione concreta nella CI.


Incrociate le dita per noi. 🤞

Post recenti

Mostra tutti

Commenti


Non puoi più commentare questo post. Contatta il proprietario del sito per avere più informazioni.
bottom of page