CLI Reference

Every command supports --help and --json-style machine output where shown.

rizmi init

rizmi init <App> --out ./licensingGenerate a keypair and print a paste-ready LicenseGate snippet with the fingerprint pre-filled.
--key-size 2048|3072|4096RSA key size (default 2048).

rizmi keys

rizmi keys generate --private-out k.pem --public-out p.pem [--passphrase]Generate an RSA keypair; private key written with 0600 permissions.
rizmi keys inspect <key.pem>Show type, size, DER fingerprint.
rizmi keys verify --private k.pem --public p.pemCheck the pair matches.
rizmi keys fingerprint --public p.pemSHA-256 of the PEM for pinning with pin_fingerprint().

rizmi license

rizmi license issue -k priv.pem -o out.lic --client "Acme" --license-id deploy-001 --hwid <hash>Sign and write a .lic JWT. Also: --features f1 --features f2, --max-clients, --grace-days, --exp-days, --from-json spec.json.
rizmi license validate file.lic --public-key pub.pemFull validation (signature, expiry+grace, HWID) on this machine. --json available.
rizmi license inspect file.lic --public-key pub.pemDecode and display all payload fields without HWID/expiry enforcement.
rizmi license revoke --license-id id1 --license-id id2 …Build and sign a revocation list (CRL).

rizmi app

rizmi app status --app-name MyApp [--db path] [--json]Show the installation's licensing state. Point --db at a copied-off client DB for remote debugging.
rizmi app activate -a MyApp -P pub.pem (--token - | --file lic.lic)Validate against the public key, then store. --token - reads stdin so licenses stay out of shell history; --machine-id targets foreign DBs.
rizmi app deactivate -a MyApp [--db path] --confirmArchive the active license (history kept). Requires --confirm.

rizmi trial

rizmi trial status --config-dir DIR --public-key pub.pem [--json]Trial state: licensed · trial_active · trial_expired · tampered · licensed_invalid. SQLite-aware.
rizmi trial reset --config-dir DIR --confirmDeveloper diagnostics only — resets local trial state.

rizmi doctor

rizmi doctor run -a MyApp [--db path] [-P pub.pem] [--fingerprint hex] [--json] [--strict]Health checklist: machine ID readable · clock sane · DB openable · row integrity · license state · key pin. Exit nonzero on failure with --strict; a pinned-fingerprint mismatch is always an error.

rizmi machine-id / gui

rizmi machine-id [--raw|--copy|--json]This machine's SHA-256 hardware fingerprint (what you bind licenses to).
rizmi guiPyQt6 desktop toolkit (keys, issue, viewer, revocation). Needs pip install py-rizmi[gui].

rizmi migrate-to-sqlite

rizmi migrate-to-sqlite run -c cfg_dir -a MyApp [--db path]Import file-era trial key material into the SQLite store. Idempotent.
Removed in v2.0: the swap/replacement-authorization commands (create-swap-request, sign-swap, verify-swap) were removed — use reissue + revocation instead.