Le protocole d'activation 2026
À partir de XLS Padlock 2026.0, les classeurs compilés utilisent un nouveau protocole d’activation basé sur des enveloppes JSON requête/réponse avec vérification obligatoire de la signature Ed25519. Le kit d’abonnement FS détecte automatiquement le protocole à chaque requête, de sorte que les classeurs empaquetés en mode hérité “Compatibility mode for pre-2026 activation kits” continuent de fonctionner sans modification (réponses en texte clair, sans signature).
Ce protocole s’applique de la même manière à l’activation, à la validation et à la désactivation.
Une paire de clés Ed25519 par produit
Section titled “Une paire de clés Ed25519 par produit”Comme ce kit dessert plusieurs classeurs (une entrée par produit dans workbooks.json, voir Étape 4), vous gérez une paire de clés Ed25519 par produit. La clé privée (secrète) est placée dans le nouveau champ xlspadlocksignkey de ce produit dans workbooks.json ; la clé publique correspondante est intégrée au classeur compilé par XLS Padlock.
Pour activer le protocole 2026 pour un produit :
- Dans le XLS Padlock Designer, ouvrez la page Activation Keys / Online Activation de ce classeur.
- Décochez “Compatibility mode for pre-2026 activation kits”.
- Cliquez sur “Generate keypair…”. La clé publique se remplit automatiquement dans le Designer ; copiez la clé privée (secrète) affichée dans le champ xlspadlocksignkey de ce produit dans workbooks.json.
- Réempaquetez le classeur protégé.

Le champ Server Public Key de la page Online Activation est en lecture seule : il est rempli automatiquement lorsque vous cliquez sur “Generate keypair…”, la paire de clés doit donc être créée depuis le Designer. Copiez la clé privée (secrète) affichée dans le champ xlspadlocksignkey de ce produit dans workbooks.json.
Refus et erreurs serveur
Section titled “Refus et erreurs serveur”Le kit livré avec XLS Padlock 2026.3 distingue deux types de défaillance :
- Un refus, par exemple un abonnement qui n’est plus actif ou un client bloqué, est une réponse signée avec un statut d’erreur. Si vous avez sélectionné Blacklist activation key dans XLS Padlock, il place la clé d’activation sur liste noire.
- Une défaillance interne, par exemple l’API FastSpring inaccessible, un fichier de clé manquant ou remplacé, ou toute autre erreur côté serveur, reçoit pour réponse un HTTP 503 accompagné d’un message en texte brut, jamais un refus. Les applications compilées avec XLS Padlock 2026.3 ou une version ultérieure l’interprètent comme « aucune réponse fiable » et ne placent jamais la clé sur liste noire dans ce cas. Les anciens kits répondaient à ces défaillances par un refus.
Les refus opposés aux requêtes de validation et de désactivation comportent également un champ chal_sha256, le SHA-256 de la valeur chal envoyée dans la requête. Les applications compilées avec XLS Padlock 2026.3 ou une version ultérieure ignorent un refus dont l’empreinte ne correspond pas à leur propre requête : un refus enregistré sur le réseau ne peut donc pas être rejoué pour placer sur liste noire les clés d’autres clients. Les refus sans ce champ, provenant d’anciens kits ou de serveurs personnalisés, sont toujours pris en compte.
Prérequis
Section titled “Prérequis”Le protocole 2026 nécessite l’extension PHP sodium (libsodium) sur votre serveur - fournie avec PHP 7.2 et versions ultérieures, y compris tous les PHP 8.x. Voir Prérequis du serveur pour le kit d’abonnement FS. Si xlspadlocksignkey est laissé vide alors qu’un classeur envoie une requête JSON 2026, le kit signale une erreur de mauvaise configuration (HTTP 503 avec le kit livré avec XLS Padlock 2026.3).