عنوان:

‫نصب خودکار اطلاعات فایل‌های PFX در سیستم


نویسنده: وحید نصیری
تاریخ: ۱۳۹۰/۱۰/۱۳ ۱۰:۵۰:۰۰
آدرس: www.dntips.ir

در مورد نحوه رمزنگاری فایل‌های PDF به کمک روش Public-key encryption توسط iTextSharp مطلبی را پیشتر در این سایت مطالعه کرده‌اید.
این روش یک مشکل مهم دارد: «ارائه فایل PFX و همچنین کلمه عبور آن به کاربر نهایی»
خوب، این یعنی اینکه شما به راحتی می‌تونید اطلاعات را رمزگشایی کنید؛ چون همه چیز سخاوتمندانه در اختیارتان است. بنابراین ضرورت رمزنگاری آن در ابتدای امر زیر سؤال می‌رود.
اکنون این سؤال مطرح می‌شود که آیا می‌توان این اطلاعات را تا حد قابل قبولی مخفی کرد؟ مثلا یک برنامه را در اختیار کاربر قرار داد که اطلاعات فایل PFX را به همراه کلمه عبور آن در سیستم نصب کند.
پاسخ:
دات نت به صورت توکار از این نوع فایل‌های مجوز پشتیبانی می‌کند:

using System.Security.Cryptography.X509Certificates;

namespace InstallPfx
{
class Program
{
private static void InstallCertificate(string cerFileName, string password)
{
var certificate = new X509Certificate2(cerFileName, password, X509KeyStorageFlags.PersistKeySet);
var store = new X509Store(StoreName.My);
store.Open(OpenFlags.ReadWrite);
store.Add(certificate);
store.Close();
}

static void Main(string[] args)
{
InstallCertificate(@"D:\forTest\file.pfx", "123456");
}
}
}

پس از اجرای کد فوق، امکان مشاهده فایل‌های PDF رمزنگاری شده به کمک اطلاعات فایل file.pfx، میسر می‌شود.
برای مشاهده این مجوز نصب شده هم می‌توان در دیالوگ Run ویندوز نوشت : certmgr.msc تا کنسول مدیریتی مجوز‌های ویندوز ظاهر شود. سپس به قسمت personal certificates باید مراجعه کرد.

نظرات

  • مهمان در ۱۳۹۰/۱۰/۱۳ ۱۹:۰۱:۱۰
    با سلام خدمت شما استاد عزیز
    ببخشید من متوجه نشدم این برنامه کجا اجرا میشه؟ اگر این برنامه هم روی کلاینت اجرا بشه که براحتی میشه سورس رو با Reflector ها بدست آورد.
  • وحید نصیری در ۱۳۹۰/۱۰/۱۳ ۱۹:۳۹:۵۵
    این رو برای کسانی نوشتم که می‌دونند با Reflector چطور باید رفتار کرد. چطور باید اطلاعات رو رمزنگاری کرد، چطور باید از SecureString استفاده کرد، چطور باید ردی در حافظه نذاشت. این فقط یک شروع بود ...
  • مهمان در ۱۳۹۰/۱۰/۱۴ ۱۱:۲۳:۲۱
    ممنون اطلاعات مفیدی بود.