ابتدا یک گواهینامه SSL ایجاد کنید. (میتونید از MakeCert یا OpenSsl استفاده کنید). کلیدهای Public و Private مجزا باشن.
در برنامه کلاینت (مشتری) ابتدا شناسه سخت افزار کاربر رو بدست بیارین (بهتره فقط مادربرد رو محاسبه کنید نه بر خلاف دیگران که CPU و هارددیسک رو هم محسابه میکنن)
در برنامه سرور خودتون با استفاده از کد سخت افزاری + "یک رشته دیگه مثلا (نام برنامه)" که کاربر به شما میده یک کد فعالسازی ایجاد کنید. با استفاده از کلید خصوصی گواهینامه اون رو کد و با کلید عمومی امضا کنید. و اون رو برای فعالسازی به مشتری بدین
در سمت کلاینت شما برای اعتبارسنجی این کد باید شناسه سخت افزار رو محاسبه کنید و صحت کدفعالسازی رو با کمک کلیدعمومی بررسی کنید.
از همین سناریو میتونید استفاده کنید برای ایجاد کدهایی که آپشن های مختلف نرم افزار رو فعال میکنه.