التوقيع الرقمي في PowerPoint
الشهادة الرقمية تُستخدم لإنشاء عرض PowerPoint محمي بكلمة مرور، مُعلمة كإنشاء من قبل منظمة أو شخص معين. يمكن الحصول على الشهادة الرقمية عن طريق الاتصال بمنظمة مرخصة - وهي جهة إصدار الشهادات. بعد تثبيت الشهادة الرقمية في النظام، يمكن استخدامها لإضافة توقيع رقمي إلى العرض عبر ملف -> معلومات -> حماية العرض:
يمكن أن يحتوي العرض على أكثر من توقيع رقمي واحد. بعد إضافة التوقيع الرقمي إلى العرض، ستظهر رسالة خاصة في PowerPoint:
لتوقيع العرض أو التحقق من صحة توقيعاته، يوفر Aspose.Slides API واجهة IDigitalSignature وواجهة IDigitalSignatureCollection وIPresentation.DigitalSignatures خاصية. حالياً، يتم دعم التوقيعات الرقمية لصيغة PPTX فقط.
إضافة توقيع رقمي من شهادة PFX
توضح عينة الكود أدناه كيفية إضافة توقيع رقمي من شهادة PFX:
- افتح ملف PFX ومرر كلمة مرور PFX إلى DigitalSignature كائن.
- أضف التوقيع الذي تم إنشاؤه إلى كائن العرض.
using (Presentation pres = new Presentation())
{
// إنشاء كائن DigitalSignature مع ملف PFX وكلمة مرور PFX
DigitalSignature signature = new DigitalSignature("testsignature1.pfx", @"testpass1");
// تعليق توقيع رقمي جديد
signature.Comments = "اختبار التوقيع الرقمي في Aspose.Slides.";
// إضافة التوقيع الرقمي إلى العرض
pres.DigitalSignatures.Add(signature);
// حفظ العرض
pres.Save("SomePresentationSigned.pptx", SaveFormat.Pptx);
}
الآن أصبح من الممكن التحقق مما إذا كان العرض قد تم توقيعه رقمياً ولم يتم تعديله:
// فتح العرض
using (Presentation pres = new Presentation("SomePresentationSigned.pptx"))
{
if (pres.DigitalSignatures.Count > 0)
{
bool allSignaturesAreValid = true;
Console.WriteLine("التوقيعات المستخدمة لتوقيع العرض: ");
// تحقق مما إذا كانت جميع التوقيعات الرقمية صالحة
foreach (DigitalSignature signature in pres.DigitalSignatures)
{
Console.WriteLine(signature.Certificate.SubjectName.Name + ", "
+ signature.SignTime.ToString("yyyy-MM-dd HH:mm") + " -- " + (signature.IsValid ? "صالح" : "غير صالح"));
allSignaturesAreValid &= signature.IsValid;
}
if (allSignaturesAreValid)
Console.WriteLine("العرض أصلي، جميع التوقيعات صالحة.");
else
Console.WriteLine("تم تعديل العرض منذ التوقيع.");
}
}