Skip to content
Yavuz Çelik
  • About
  • Skills
  • Projects
  • Experience
  • Contact
TR/EN

© 2026 Yavuz Çelik. All rights reserved.

←Projects

API

Licensing API — Machine-Bound Software Licenses

A REST API that issues and validates AES-encrypted, machine-bindable license keys.

CATEGORY
API
STACK
  • ASP.NET Core 6
  • EF Core
  • Quartz.NET
  • AES
  • Swagger
  • SQL Server
NOTES
AES · machine-bound · rate limited
  1. Desktop productlicense key
  2. activate · validate
  3. Licensing APIASP.NET Core 6 · AES · rate limiting
  4. License recordsSQL Server · EF Core
FIG. 1A key is bound to a machine on first activation; mismatched machines are rejected.

ON THIS PAGE

  1. 01Problem
  2. 02Solution
  3. 03Technical Details

01Problem

The company's desktop products shipped without license protection; there was no central system to prevent copying or manage the license lifecycle (issue / validate / renew).

02Solution

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.

03Technical Details

  • MachineBound / KeyOnly license types, concurrent-activation detection
  • Heartbeat reduced to a “last-seen stamp” (client period 5 min → 24 h)
  • Endpoint protection with AspNetCoreRateLimit
  • Scheduled maintenance jobs via Quartz.NET, Swagger documentation
  • Tax-ID validation and audit logging

←Previous project

PASSMAIL — ERP Document Email Automation

Next project→

ESBI-Mustahsil — Excel → LOGO Receipt Portal