۱۳۹۰/۱۰/۱۳

نصب خودكار اطلاعات فايل‌هاي PFX در سيستم


در مورد نحوه رمزنگاري فايل‌هاي 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 بايد مراجعه كرد.