CodeGuard

Lizenzdatei

Wie die CodeGuard CLI ihre Lizenzdatei findet, prüft und welche Fehlermeldungen vorkommen können.

Lizenzdatei

Jedes CLI-Archiv, das im Kundenportal heruntergeladen wird, enthält eine Datei mit dem Namen codeguard.license. Sie ist ein signiertes JWS-Token und bindet den Download an den Kunden, der ihn ausgelöst hat. Ohne gültige Lizenz weigert sich die CLI zu starten und beendet sich mit Exit-Code 6.

Wo die CLI nach der Lizenz sucht

Die CLI prüft folgende Pfade in dieser Reihenfolge und nimmt die erste Datei, die existiert:

  1. Der Pfad, der per --license <pfad> übergeben wurde.
  2. Die Umgebungsvariable CODEGUARD_LICENSE.
  3. codeguard.license direkt neben dem CLI-Binary.
  4. codeguard.license im aktuellen Arbeitsverzeichnis.
  5. $XDG_CONFIG_HOME/codeguard/codeguard.license (Linux/macOS).
  6. %APPDATA%\CodeGuard\codeguard.license (Windows).
  7. $HOME/.config/codeguard/codeguard.license (Fallback für Unix-Systeme ohne XDG_CONFIG_HOME).

Die einfachste Variante: die codeguard.license aus dem heruntergeladenen Archiv neben das CLI-Binary kopieren. Damit funktionieren alle Aufrufe ohne weitere Konfiguration.

Was geprüft wird

Beim Start jedes gateten Subbefehls (analyze, validate, init, lsp) führt die CLI folgende Checks durch:

  • Die Datei kann gelesen werden.
  • Der Inhalt ist ein gültiges JWS-Token mit alg: RS256.
  • Die Signatur passt zu einem der im Binary eingebetteten öffentlichen Schlüssel. Während einer Schlüsselrotation kennt das Binary mehrere Schlüssel parallel.
  • Das exp-Claim (Ablaufdatum) liegt in der Zukunft (Toleranz von fünf Minuten gegen Uhrabweichungen).
  • Optionale min_ver/max_ver-Claims schließen die laufende CLI-Version nicht aus.

Schlägt einer dieser Checks fehl, beendet sich die CLI mit Exit-Code 6 und schreibt eine kurze Diagnose auf stderr.

Häufige Fehlermeldungen

No codeguard.license file found

Keine der Suchpfade enthielt eine Lizenzdatei. Lade das aktuelle Archiv aus dem Portal neu herunter und kopiere codeguard.license neben das CLI-Binary, oder setze CODEGUARD_LICENSE auf den Pfad zur Datei.

License at '<pfad>' is not a valid JWS

Die Datei wurde gefunden, ist aber keine gültige JWS-Struktur. Mögliche Ursachen sind eine versehentlich überschriebene Datei, ein Zeilenende-Umbau durch ein Versionierungssystem oder eine Datei aus einer sehr alten Portal-Version. Lade die Lizenz neu aus dem Portal.

License at '<pfad>' is not signed by a key this CLI trusts

Das Token ist syntaktisch sauber, aber von einem Schlüssel signiert, den diese CLI nicht kennt. Tritt typischerweise bei einem Mismatch zwischen einer Lizenz aus einer alten Portal-Generation und einer aktuelleren CLI auf. Lösung: die aktuelle CLI-Version aus dem Portal neu ziehen.

License expired on <datum>

Das Token ist signaturseitig in Ordnung, aber das Ablaufdatum aus der Subscription ist überschritten. Verlängere die Subscription im Portal und lade danach das Archiv erneut herunter.

License requires CLI >= <version> / License only covers CLI <= <version>

Die Lizenz wurde mit einer Versionsklammer ausgestellt, die diese CLI nicht einschließt. Tritt nur auf, wenn das Portal mit Portal__License__DefaultMinVersion oder DefaultMaxVersion arbeitet. Lösung: Lizenz im Portal neu erzeugen, oder eine CLI-Version innerhalb der Klammer verwenden.

Datenschutz

Die Prüfung läuft komplett offline. Es findet kein Phone-Home statt, die CLI braucht keinen Netzwerkzugriff, um die Lizenz zu validieren. Die Signatur ist ausreichend.

Im Token stehen: User-ID (UUID), Account-Email, Plan-Name, Ausstellungs- und Ablaufdatum. Diese Werte sind für den Lizenznehmer ohnehin offensicht- lich; sie sind kein Geheimnis, sondern der Anker der Lizenz selbst.