mix aker.sign (Aker v0.1.0)

Copy Markdown View Source

Sign a licence from an install's activation request, standing in for the licensing server on your own machine.

mix aker.sign request.json --product my_app \
  --root-key ../keys/root.pem --customer "Acme Logistics" \
  --seats 10 --term monthly

Options:

  • --product (required): the product the request and licence name.
  • --root-key (required): the root key's PEM, which signs the working key's certificate. Keep it outside the checkout: the task refuses a key inside the folder it runs in.
  • --working-key: the working key's PEM, which signs the licence (default: the root key).
  • --customer, --seats (required).
  • --term (required): monthly (30 days), yearly (365 days) or a number of days.
  • --features: the features the licence sells, comma-separated, such as --features reports,export.
  • --serial (default 1): raise it for each licence after the first, since an app refuses a licence older than the one it holds.
  • --key-id (default dev), --moves (default 20).
  • --out (default licence.json beside the request).

The keys are PEM files openssl genpkey -algorithm ed25519 writes, held as Aker.SigningKey, so nothing prints key material. The last line prints the root key's public half: the app accepts the licence only when its root key list holds that value.