PDA

View Full Version : Digital signature



حمیدرضاصادقیان
یک شنبه 03 آبان 1388, 07:32 صبح
سلام دوستان.میخواستم ببینم برای نرم افزارهایی که می نویسم چطور میتونم digital Signature تهیه کنم .آخه بعضی وقتها کسپرسکی 2010 یک popup باز میکنه و به این مورد گیر میده.میخوام دیگه باز نشه.
ممنون.

vcldeveloper
یک شنبه 03 آبان 1388, 11:07 صبح
شما باید اول یک Certificate معتبر داشته باشید. برای کارهای درست و حسابی، باید از این شرکت های ارائه Certificate مثل Virisign استفاده کنید، و چند صد دلار بابت خرید Certificate پیاده شید!

اگر نمیخواید همچین پولی خرج کنید، می تونید خودتون برای خودتون Certificate تولید کنید، یا از سایتی مثل CAcert که Certificate مجانی ارائه میکنه، استفاده کنید. البته اعتبار این روش مثل استفاده از Certificateهای شرکت های ارائه کننده معتبر نیست، ولی برای برنامه هایی که جنبه امنیتی ندارند، کفایت میکنه.

بعد از اینکه Certificate خودتان را بدست آوردید، می تونید با استفاده از ابزار signtool.exe در Windows SDK فایل EXE مورد نظرتان را با آن امضاء دیجیتالی کنید.

البته برای بررسی صحت امضاء فایل باید Root Certificate مربوط به شرکت ارائه کننده Certificate روی سیستم کاربر نصب باشه. Root Certificate شرکت های معتبر به طور پیش فرض نصب هست، ولی اگر خودتون Certificate تولید کردید، باید فایل مربوط به Root Certificate خودتان را در سایت خودتان قرار بدید که کاربر بتونه آن را نصب کنه. اگر از سایتی مثل CAcert استفاده می کنید، کاربر باید Root Certificate آن سایت را نصب کنه. بعد از اینکه یک بار Certificate شما در سیستم کاربر نصب شد، سیستم میتونه صحت امضاء هر کدام از برنامه هایی که توسط شما امضاء دیجیتالی شدند را تایید کنه.

اطلاعات بیشتر:
http://msdn.microsoft.com/en-us/library/ms537361%28VS.85%29.aspx
http://eric.extremeboredom.net/2004/08/13/159
http://www.tech-pro.net/codesign.html

حمیدرضاصادقیان
یک شنبه 03 آبان 1388, 12:27 عصر
علی جان ممنون. الان یک سری من activex و نمونه کد نیز پیدا کردم که ظاهرا با اون میشه certificate ایجاد کرد.
اینم لینکش:
http://www.example-code.com/delphi/sig_digital_signature.asp
ممنون میشم در این مورد توضیح بفرمائید.
باتشکر

vcldeveloper
یک شنبه 03 آبان 1388, 23:23 عصر
نه، این با اون بحث امضاء دیجیتالی که شما مطرح کردید فرق میکنه. این ActiveX که شما لینکش را ارائه کردید، برای اینکه از فایل EXE در برابر کرک شدن محافظت کنه، از امضاء دیجیتالی استفاده میکنه، یعنی فایل را امضاء میکنه، و اگر فایل EXE به هر دلیلی، تغییر پیدا کنه، امضاء بدست آمده از آن با امضاء اولیه متفاوت خواهد بود، و این یعنی فردی در کدهای فایل EXE دست برده.

امضاء دیجیتالی مورد نیاز ویندوز برای این هست که به کاربر اطمینان خاطر داده بشه که اولا فایل دریافت شده واقعا از طرف شرکت تولید کننده محصول مورد نظر هست، و فرد یا شرکت دیگه ایی به نام آن شرکت، در حال ارائه محصول دیگه ایی نیست، مثلا یکی نیاد یک Update ویندوز را به اسم مایکروسافت منتشر کنه بین کاربران؛ و ثانیا، فرد یا شرکت منتشر کننده فرد یا شرکت شناخته شده ایی هست، و مجهول الهویه نیست.

این ربط خاصی به کرک نداره، البته مکانیزم امضاء دیجیتال در هر دو مورد مشابه هست. در ضمن، آنتی ویروس هایی مثل کاسپرسکی به تغییر فایل هی امضاء شده حساس هستند، و اگر فایلی که دارای امضاء دیجیتال هست، تغییر کنه، و امضاء آن دیگه معتبر نباشه، به شما هشدار میدند. بعضی برنامه ها مثل Process Explorer هم می تونند امضاء دیجیتالی همه پروسه های در حال اجرا را بررسی کنند، و چک کنند که آیا پروسه مورد نظر واقعا توسط شرکت ادعایی نوشته شده، یا نه، مثلا آیا فایل Svchost در حال اجرا بر روی سیستم کاربر واقعا توسط مایکروسافت منتشر شده، یا ویروسی هست که از نام Svchost سو استفاده کرده.

حمیدرضاصادقیان
دوشنبه 04 آبان 1388, 11:24 صبح
پس عملا برای جلوگیری از گیردادن کسپرسکی به امضا دیجیتالی باید پول خرج کنیم
درسته؟

vcldeveloper
دوشنبه 04 آبان 1388, 12:07 عصر
پس عملا برای جلوگیری از گیردادن کسپرسکی به امضا دیجیتالی باید پول خرج کنیم
نه، گفتم که، خودتون هم می تونید برای خودتان Certificate تولید کنید،ولی خب این فقط در حد جلوگیری کردن از گیر دادن کاسپرسکی ارزش داره، مثل این هست که کسی برای اثبات اعتبار خودش، خودش را به عنوان مرجع اعتبارسنجی معرفی کنه؛ طبیعی هست که فردی که خودش اعتبارش زیر سوال هست، نمیتونه خودش را به عنوان مرجع اعتبارسنجی معرفی کنه، و باید یک سازما یا موسسه مورد قبول طرفین این کار را انجام بده.
اگر هدف فقط این هست که یک امضاء دیجیتالی وجود داشته باشه که آنتی ویروس گیر نده، کاربر میتونه خودش برای خودش اعتبارنامه تولید کنه، و با اون برنامه خودش را امضاء کنه.

R2du-soft
شنبه 02 خرداد 1394, 05:49 صبح
سلام دوستان میدونم که تاپیک قدیمی است اما منم مشکلی با Signtool دارم.
پچ های برنامه idm میان یک تغییری در digital signature information اونم در فایل IDMan.exe میدن...
چطور میشه فهمید اون تغییر چیه و چطور میشه از روش برنامه کپی زد؟
ممنون میشم راهنماییم کنید.
---------
جدید:
چطور میشه digital signature فایل IDMan.exe رو حذف یا غیر فعال کرد،دوستان کسی میدونه چطور میشه اینکار رو کرد؟
ممنون