SDK

Intégrez Keyline dans votre logiciel

Quatre SDK officiels, une même interface : activer une licence, garder la session vivante, réagir à une révocation.

Ce que fait chaque SDK

  • Activation, validation, heartbeat, désactivation
  • Signature ECDSA de chaque réponse vérifiée, nonce par requête
  • HTTPS obligatoire, certificats vérifiés, redirections refusées
  • Délais, nouvelles tentatives avec backoff, respect de Retry-After
  • Heartbeat automatique et identifiant d’appareil haché localement
  • Résultats typés : aucun refus de licence ne lève d’exception

Exemple

typescript
import { LicenseClient } from '@keyline/sdk';
import { defaultDeviceId } from '@keyline/sdk/node'; // Node / Electron

const client = new LicenseClient({
  apiUrl: 'https://keyline.example.com/api/v1',
  applicationId: '<application_id>',
  publicKeys: { '<kid>': PUBLIC_KEY_PEM },
  appVersion: '1.4.2',
});

const result = await client.activate({ licenseKey, deviceId: defaultDeviceId('mon-logiciel') });
if (result.success) {
  const stop = client.startHeartbeat({ onFailure: (r) => lockPremiumFeatures(r.error.code) });
} else if (result.error.code === 'DEVICE_LIMIT_REACHED') {
  // inviter l'utilisateur à libérer un appareil depuis son espace client
}

Aucun secret dans votre logiciel

Un SDK n’utilise que l’identifiant public de l’application et sa clé publique de signature. Les clés API restent sur vos serveurs.

Ce qu’un SDK ne peut pas garantir

Un logiciel exécuté chez l’utilisateur peut être modifié. La vérification des signatures empêche de forger une réponse du serveur, pas de patcher le binaire : faites dépendre les fonctionnalités à forte valeur d’appels serveur.