API
Licensing API — Machine-Bound Software Licenses
A REST API that issues and validates AES-encrypted, machine-bindable license keys. A redesigned heartbeat architecture cut database load significantly.
AES · machine-bound · rate limited
ASP.NET Core 6EF CoreQuartz.NETAESSwaggerSQL Server
Problem
The company's desktop products shipped without license protection; there was no central system to prevent copying and manage the license lifecycle (issue/validate/renew).
Solution
With ASP.NET Core 6 I built a REST API that encrypts license keys with AES (Rijndael + Rfc2898DeriveBytes), binds them to a machine on first activation and rejects mismatched machines.
Highlights
- MachineBound / KeyOnly license types, concurrent-activation detection
- Heartbeat load reduced to a "last-seen stamp": client period 5 min → 24 h
- Endpoint protection with AspNetCoreRateLimit
- Scheduled maintenance jobs via Quartz.NET, Swagger docs
- Turkish tax-ID validation and audit logging