Edary License Generator (ELG)

1 minute read

Internal Windows tool that issues digitally signed JSON licenses for Edary: you enter customer and machine data; the app outputs a license file verified on the client with the public key (the private key never ships).

Product context: Edary — Accounting & ERP.

Open / download demo (MP4)

Architecture (sign-then-store)

Canonical UTF-8 payload, signed with RSA-SHA256 and PKCS#1 v1.5:

customerName|machineId|expireDate

Fixed order, delimiter |, UTF-8. signature (Base64) is stored in JSON with the fields. Any field change without re-signing fails verification.

Tech stack

Item Detail
Framework .NET 8, Windows Forms
Executable ELG.exe
Distribution Single-file, self-contained win-x64
Side CreateIcon helper (not part of main build)

License file

  • Fields: customer name, machine ID, expiry (YYYY-MM-DD).
  • Private key: %UserProfile%\private_key.pem or next to the executable.
  • Output: licenses\{CustomerName}.license.key beside the app; clients often use C:\ProgramData\Edary\license.key. Verification runs inside Edary.

Issuer UI

  • Arabic / English, RTL for Arabic; dark/light theme; settings in %LocalAppData%\ELG\settings.txt.
  • Optional open licenses folder after save; default expiry +1 year.

Keys

Keep private_key.pem only on the issuing machine. Customers get the license file only; Edary embeds the public key for verify-only use.