heldevia
Notre propre forge18 août 20261 min de lecture

Le validateur qui ment : un tiret cadratin contre notre signature PGP

Le validateur de référence de security.txt accusait notre bloc PGP d'être invalide. Le vrai coupable : un tiret cadratin dans un commentaire, et une bibliothèque qui décode les fichiers signés en Latin-1. Leçon : validez avec l'outillage du validateur lui-même.

Aussi disponible en : English

Une brève de terrain — un problème, un diagnostic, une leçon.

Notre security.txt (RFC 9116) est signé PGP : les chercheurs en sécurité qui veulent nous écrire peuvent vérifier que le fichier vient bien de nous. Au moment de le valider, le test d'internet.nl a rendu son verdict : « incorrect ASCII-armored PGP block ». Bloc PGP invalide.

Sauf que le bloc PGP était parfaitement valide — gpg --verify passait sans un murmure. Le coupable était ailleurs, et le message d'erreur mentait.

Le diagnostic, après un aller-retour frustrant : la bibliothèque du validateur décode les fichiers security.txt signés en Latin-1, pas en UTF-8. Notre fichier contenait un tiret cadratin (« — ») dans un simple commentaire. Ce caractère UTF-8, mal décodé, levait une exception d'encodage que la bibliothèque attrapait et réétiquetait en erreur PGP. Le validateur n'accusait pas le vrai coupable : il accusait la signature, qui n'y était pour rien.

Le correctif tient en une règle : notre security.txt est en ASCII pur, tirets courts et texte sans fioritures. La note est même inscrite en commentaire dans notre fichier source, pour que le prochain qui l'édite ne redécouvre pas le problème.

La leçon dépasse le cas d'espèce : quand un validateur vous contredit, validez avec son propre outillage avant de chercher l'erreur chez vous — et avant de « corriger » quelque chose qui fonctionne. Les messages d'erreur décrivent l'endroit où une exception a éclaté, pas toujours sa cause.

Tous les articles

Prêt à transformer votre entreprise avec l'IA ?

Discutons de la façon dont les solutions intelligentes peuvent créer votre prochain avantage concurrentiel.