From ce4ff0cec5fa9b81eb852e5ef5bc624f91a5420a Mon Sep 17 00:00:00 2001 From: Daniel Allaire Date: Tue, 11 Aug 2026 02:06:02 -0400 Subject: [PATCH] =?UTF-8?q?keycloak=20:=20l'ancre=20de=20confiance=20exist?= =?UTF-8?q?e=20=E2=80=94=20publiee=20hors=20du=20canal=20de=20livraison?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La commande que j'avais donnee etait circulaire : `gpg --recv-keys ` demande la cle PAR son empreinte, et une empreinte est le condensat du materiel de la cle. Le serveur ne peut rien renvoyer d'autre. Ca n'etablit rien. Elle a tout de meme revele l'identite : Keycloak Bot , ed25519 2024-02-13, expire 2027-02-12. Mesure localement : cle AUTO-SIGNEE uniquement, aucune certification tierce. L'ancre reelle : keycloak.org/keys publie 861ab50e8cc6611fb6bc01a6b8f12ea26fd6eeba, identique a l'epinglage. Canal DISTINCT de github.com qui livre l'archive — la propriete qu'avait Forgejo et qui manquait ici. Deux reserves consignees dans le role plutot que tues : la page decrit la cle comme servant aux artefacts Maven, et l'ancrage vaut ce que vaut le controle de keycloak.org (DNS + TLS). Co-Authored-By: Claude Opus 5 --- CHANGELOG.md | 25 ++++++++++++++++++++++++ roles/serveur_keycloak/defaults/main.yml | 12 ++++++++++++ 2 files changed, 37 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e2aeb38..a801538 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,30 @@ # CHANGELOG — Set-OPS +## 2026-08-11 — L'ancre Keycloak existe (et la commande que j'avais donnée ne prouvait rien) + +La vérification de signature était en place, mais elle ne prouvait que « la même clé +qu'hier ». Restait à établir que cette clé est bien celle de Keycloak. + +**La première tentative était circulaire.** `gpg --recv-keys ` demande la clé +*par son empreinte* — or une empreinte est le condensat du matériel de la clé : le serveur +ne peut rien renvoyer d'autre. Confirmer que la clé reçue porte l'empreinte demandée +n'établit donc rien. Et un serveur de clés n'est pas une autorité : n'importe qui y +téléverse n'importe quelle clé avec n'importe quel UID (GPG l'affiche : `[ unknown ]`). + +La manœuvre a tout de même révélé l'identité : **`Keycloak Bot `**, +ed25519 créée le 2024-02-13, expirant le 2027-02-12. Et, mesuré localement, la clé est +**auto-signée uniquement** — aucune certification tierce, aucune toile de confiance. + +**L'ancre réelle** : publie +`861ab50e8cc6611fb6bc01a6b8f12ea26fd6eeba`, identique à l'épinglage. Ce canal +(`keycloak.org`) est **distinct de celui qui livre l'archive** (`github.com`) — la +propriété qu'avait déjà Forgejo et qui manquait ici. + +Deux réserves consignées dans `roles/serveur_keycloak/defaults/main.yml` plutôt que +passées sous silence : la page décrit la clé comme servant aux **artefacts Maven** (c'est +notre vérification qui établit que le `.asc` de l'archive est validé par elle), et +l'ancrage vaut ce que vaut le contrôle de `keycloak.org` — DNS et TLS. + ## 2026-08-11 — Les épinglages éprouvés en vrai, par une reconstruction ciblée Les rôles **installent, ils ne mettent pas à jour** (`creates:`). Relever une version ne diff --git a/roles/serveur_keycloak/defaults/main.yml b/roles/serveur_keycloak/defaults/main.yml index b1ca55a..02ad8d3 100644 --- a/roles/serveur_keycloak/defaults/main.yml +++ b/roles/serveur_keycloak/defaults/main.yml @@ -202,6 +202,18 @@ serveur_keycloak_cache_local: "{{ setops_cache_artefacts | default(lookup('env', # Continuite constatee le 2026-08-10 : cette meme cle a signe 26.0.7 (la version alors en # production), 26.3.0, 26.6.2 et 26.7.1. # +# ANCRE (2026-08-11) — l'empreinte est PUBLIEE PAR LE PROJET sur https://www.keycloak.org/keys, +# sous l'UID « Keycloak Bot ». Ce canal (keycloak.org) est +# DISTINCT de celui qui livre l'archive (github.com) : la confiance ne repose donc plus +# sur la seule continuite. C'est la propriete qui manquait auparavant. +# +# Deux reserves, a connaitre plutot qu'a ignorer : +# - la page decrit cette cle comme servant aux ARTEFACTS MAVEN, pas aux archives de +# distribution ; c'est notre verification qui etablit que c'est la meme cle (le `.asc` +# de l'archive GitHub est valide par elle) ; +# - la cle est AUTO-SIGNEE, sans aucune certification tierce : pas de toile de confiance. +# L'ancrage vaut donc ce que vaut le controle de keycloak.org (DNS + TLS). +# # Un changement d'empreinte en amont fera ECHOUER le remplissage du cache — c'est voulu : # il exige une relecture humaine, pas un remplacement silencieux. serveur_keycloak_signature_empreinte: "861AB50E8CC6611FB6BC01A6B8F12EA26FD6EEBA"