top of page

Une signature de code gratuite pour l'open source : notre candidature chez SignPath 🔏

Photo du rédacteur: Marcel Dütscher
Marcel Dütscher
12 juil.
3 min de lecture

Si vous installez notre jeu sous Windows, vous connaissez peut-être ce moment : « Windows a protégé votre ordinateur » — SmartScreen met en garde contre un « éditeur inconnu », et il faut d'abord cliquer sur « Informations complémentaires → Exécuter quand même ». Ce n'est pas un virus : c'est tout simplement parce que nos installateurs ne sont pas encore signés. Nous voulons nous débarrasser de cet avertissement — sans devoir acheter un certificat hors de prix.


Le problème des certificats de signature de code. Un certificat d'éditeur Windows (OV ou EV) coûte de l'argent chaque année, souvent avec vérification d'entreprise et jeton matériel à la clé. Pour un studio commercial, c'est une dépense parmi d'autres. Pour un projet familial open source, c'est un vrai obstacle — et en plus, en quelque sorte, le mauvais : nous sommes transparents, tout le code source est public.


La solution : la SignPath Foundation. SignPath offre gratuitement la signature de code aux projets open source. C'est exactement ce que nous venons de demander. Rien n'est encore accepté — l'examen est en cours —, mais la préparation a été assez instructive pour la partager ici. Si vous voulez signer votre propre projet open source, voici ce que nous avons dû faire.


1. Les prérequis. Un dépôt public, une licence reconnue par l'OSI (l'AGPL-3.0 dans notre cas), des versions publiées avec un développement visiblement actif et de la documentation — et, non négociable : l'authentification à deux facteurs sur le compte GitHub. Un peu de notoriété pour le projet aide aussi : un site web, des vidéos, quelques étoiles sur GitHub.


2. La politique de signature de code (le point le plus important). SignPath veut savoir exactement comment la signature se passe chez vous. Nous avons donc ajouté au dépôt un fichier CODE_SIGNING.md qui précise : quel dépôt est l'officiel, quels artefacts sont signés, que seul le workflow de release de la CI signe (jamais un build local sur l'ordinateur portable de quelqu'un), qui valide les versions — et un lien vers la politique de confidentialité. Ce point est le cœur de la candidature.


3. La page de téléchargement doit mentionner SignPath. Le formulaire demande une « URL de téléchargement » sur laquelle SignPath est cité. Pour ça, nous avons réécrit l'avertissement de sécurité de notre README. L'honnêteté comptait pour nous : tant que rien n'est signé, il y est écrit noir sur blanc que la signature est en cours de mise en place — aucune promesse qui ne soit pas encore vraie.


4. Une vraie politique de confidentialité. Si votre logiciel traite des données — chez nous, par exemple, des rapports de plantage et des comptes joueurs —, il vous faut une vraie politique de confidentialité conforme au RGPD, pas un texte bouche-trou tiré d'un outil de création de sites.


5. Envoyer. Remplir le formulaire (dépôt, page d'accueil, URL de téléchargement et de confidentialité, une phrase de présentation du projet, notoriété, système de build = GitHub Actions), cocher les cases obligatoires, envoyer.


Maintenant, il faut attendre : l'examen est manuel et prend en général une à deux semaines, avec peut-être quelques questions. Si la demande est acceptée, nous intégrerons l'étape de signature à notre pipeline de CI — et l'avertissement SmartScreen disparaîtra pour tous ceux qui téléchargent le jeu. Dès que nous aurons une réponse, une partie 2 suivra, avec l'intégration concrète dans la CI.


Croisez les doigts pour nous. 🤞

Posts récents

Voir tout

Commentaires


Les commentaires sur ce post ne sont plus acceptés. Contactez le propriétaire pour plus d'informations.
bottom of page