feat(licence): refuser les licences non liees a un poste

Une cle flottante etait sortie. Un schema hors ligne n'a pas de
revocation — rien ne peut aller dire a un exe installe qu'une cle ne vaut
plus — donc la seule prise est de cesser d'accepter toute la classe.

MachineMatches exige desormais une empreinte, et -Floating disparait du
script : il ne peut plus fabriquer une cle que l'exe rejetterait.

Effet de bord assume : plus de licence de site, et un poste sans
empreinte exploitable n'est plus licenciable du tout — mieux qu'une
empreinte degeneree qui ouvrirait partout.

Verifie : liee a ce poste acceptee, liee a un autre refusee, les deux
flottantes deja emises refusees.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
r-zakarya
2026-09-05 15:38:07 +01:00
parent 405ac7fac4
commit 988694b20d
3 changed files with 40 additions and 31 deletions
+11 -5
View File
@@ -300,11 +300,17 @@ que dans une charge utile dont on sait deja qu'elle vient de nous.
installation. Les deux sources absentes → `'unavailable'`, qui ne correspond a
aucune licence : mieux qu'une chaine vide, identique partout.
- Calculee une fois puis retenue (l'appel WMI coute quelques centaines de ms).
- **`m` absent = licence flottante, acceptee** — seule la cle privee peut en
emettre une, et un tiers ne peut pas retirer le champ sans casser la
signature. Ce n'est donc pas un contournement, c'est une licence de site.
Cote script, `-Machine` est **obligatoire** sauf `-Floating` explicite :
l'oubli produirait sinon la licence la plus permissive en silence.
- **`m` absent = licence REFUSEE.** Les licences flottantes ont existe le temps
d'une seance et l'une d'elles est sortie ; les refuser en bloc est la **seule
facon de l'annuler**. Un schema hors ligne n'a pas de revocation — rien ne
peut aller dire a un exe deja installe qu'une cle ne vaut plus — donc la seule
prise qui reste est de cesser d'accepter toute une classe de cles. Le cout
assume : plus de licence de site, une cle par poste. `-Floating` a ete retire
du script, qui ne peut donc plus fabriquer une cle que l'exe rejetterait.
- Un poste dont l'empreinte vaut `'unavailable'` (ni WMI ni MachineGuid) ne peut
plus etre licencie : le script n'accepte que 16 hexa. C'est le bon sens de
l'erreur — mieux vaut un poste qu'on ne peut pas licencier qu'une empreinte
degeneree qui ouvrirait partout.
- **Consequence de flux** : on ne peut plus emettre une licence avant que le
client ait installe. L'ecran d'activation affiche l'Installation ID, il
l'envoie, on emet. Changer la carte mere ou le disque systeme casse la