این سند جزییات پیادهسازی کلاینت قفل نرمافزاری شتاب است و برای کسانی که می خواهند نرمافزار قفلگذاری خود را روی سیستمهای پشتیبانی نشده قفل نرم افزاری شتاب مانند موبایل های مختلف، جاوا یا محصولات apple پیادهسازی کنند.
روند کلی قفل در محصول قفلگذاری شده
کلاینت شناسهی کامپیوتر را ساخته و پس از ارسال به سرور شتاب، صحت جواب را بررسی کرده و برنامه را اجرا میکند.
ساختن شناسهی کامپیوتر
شناسهی کامپیوتر، فرمت خاصی از شناسهی ماشینی است که محصول روی آن اجرا میشود. شناسهی ماشین یک عدد منحصر به فرد است مانند شناسهی هارد، سیمکارت، پردازشگر. این شناسه با رعایت قانون زیر تبدیل به شناسهی کامپیوتری میشود که توسط سامانهی شتاب قابل قبول است.
VFXXXXXXXC
-
هر حرف نشانهی یک رقم است.
-
V نشان دهندهی ورژن جاری است، که در حال حاظر باید 2 باشد. این ورژن کمک میکند تا در صورت تغییر در نحوهی تولید کد فعالسازی در سامانهی شتاب، محصولات قدیمی همچنان پشتیبانی شوند.
-
F یک فلگ است که 3 بیت میتواند ذخیره کند. اگر بیت اول روشن باشد یعنی کلاینت در خواست سیستم نامتقارن RSA را برای فعالسازی دارد. بیتهای بعدی توسط شرکت شتاب استفاده میشود. شما این رقم را در حالت AES صفر قرار دهید.
-
X ها نشانهی شناسهی 7 رقمی ماشین شما هستند. اگر شناسهی ماشین شما کمتر از 7 رقم است، قبل از آن صفر قرار دهید و اگر بیشتر است، پیشنهاد میشود که از آن یک sha یا md5 (یا هر روش دیگری) بگیرید و 7 رقم اول آن را انتخاب کنید. روش تهیهی این 7 رقم اهمیتی ندارد ولی باید همیشه 7 رقم و برای هر ماشین یکتا باشد.
-
مثال تولید این شناسهی کامپیوتر در نمونه آمده است.
گرفتن کد فعال سازی
با صدا زدن تابع GenerateActivationCode از web service زیر، شناسهی کامپیوتر و شمارهی سریال را میدهید و جواب آن را دریافت می کنید.http://www.shetablc.com/lc/ActivationCodeWebService.asmx
شناسهی کامپیوتر را به همراه شماره سریال 16 رقمی به فرمت زیر به شماره تلفن مشخص شده فرستاده و جواب آن را دریافت کنید. در قالب زیر Mها شناسهی کامپیوتر و Sها رقمهای شماره سریال هستند.
SSSS-SSSS-SSSS-SSSS-MMMM-MMMM-MM
چک کردن کد فعال سازی - روش AES
کد فعالسازی یک بافر رمزنگاری شده است که تبدیل به یک رشتهی hex در آمده و برخی از کارکترهای آن برای بهتر خوانده شدن از طریق تلفن تغییر کرده، مثلا حرف D به X تغییر کرده و حرف A به H
0123456789ABCDEF=0123456789HQWXYZ
این بافر باید توسط استاندارد زیر رمز گشایی شود:
Algorithm=AES, Padding=PKS7, Mode=CFB, IV=MachineId
کلید رمزنگاری AES در فایل جوازی که از سامانهی قفل شتاب دریافت میشود، موجود است. کد فعالسازی پس از رمز گشایی به صورت زیر خواهد بود.
XXXX-YYYYYYYYY
که در آن XXXX یک عدد 32 بیتی است که همان شناسهی کامپیوتر است. این شناسه هنگامی که به صورت رشته (String) در بیاید در صورتی که کد فعالسازی درست باشد، باید همان شناسهی ماشین شما باشد. Yها شامل اطلاعات دیگر برای رمز نگاری خودکار و دادهی الحاقی هر سریال است که استفاده از آن ضرروتی ندارد و طول آنها بستگی به تنظیمات جواز دارد.
نکته: شناسهی ماشین با شناسهی کامپیوتر ارسالی متفاوت است. شناسهی ماشین همان شناسهی یکتایی است که از سیستم گرفتهاید و با آن در مرحلهی قبل شناسه ی کامپیوتر را ایجاد کرده و به سرور فرستادهاید.
برای دیدن نحوه ی عملکرد مثال زیر را به زبان CSharp ببینید.
http://www.shetab.com/farsi/softlock/misc/Samples/SoftLockSpecificationSample.zip