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