التوقيع الرقمي في باوربوينت

الشهادة الرقمية تُستخدم لإنشاء عرض باوربوينت محمي بكلمة مرور، وعلامة على أنه تم إنشاؤه بواسطة منظمة أو شخص معين. يمكن الحصول على الشهادة الرقمية من خلال الاتصال بمنظمة مرخصة - هيئة الشهادات. بعد تثبيت الشهادة الرقمية في النظام، يمكن استخدامها لإضافة توقيع رقمي إلى العرض عبر ملف -> معلومات -> حماية العرض:

todo:image_alt_text

يمكن أن يحتوي العرض على أكثر من توقيع رقمي واحد. بعد إضافة التوقيع الرقمي إلى العرض، ستظهر رسالة خاصة في باوربوينت:

todo:image_alt_text

للتوقيع على العرض أو للتحقق من صحة توقيعات العرض، يوفر Aspose.Slides API واجهة IDigitalSignature وواجهة IDigitalSignatureCollection وطريقة IPresentation.getDigitalSignatures . حاليًا، يتم دعم التوقيعات الرقمية فقط لنسق PPTX.

إضافة توقيع رقمي من شهادة PFX

توضح عينة الكود أدناه كيفية إضافة توقيع رقمي من شهادة PFX:

  1. افتح ملف PFX ومرر كلمة مرور PFX إلى كائن DigitalSignature.
  2. أضف التوقيع الذي تم إنشاؤه إلى كائن العرض.
// فتح ملف العرض
Presentation pres = new Presentation();
try {
    // إنشاء كائن DigitalSignature مع ملف PFX وكلمة مرور PFX 
    DigitalSignature signature = new DigitalSignature("testsignature1.pfx", "testpass1");

    // تعليق التوقيع الرقمي الجديد
    signature.setComments("اختبار توقيع رقمي من Aspose.Slides.");

    // إضافة التوقيع الرقمي إلى العرض
    pres.getDigitalSignatures().add(signature);

    // حفظ العرض
    pres.save("SomePresentationSigned.pptx", SaveFormat.Pptx);
} finally {
    pres.dispose();
}

الآن يمكن التحقق مما إذا كان العرض قد تم توقيعه رقمياً ولم يتم تعديله:

// فتح العرض
Presentation pres = new Presentation("SomePresentationSigned.pptx");
try {
    if (pres.getDigitalSignatures().size() > 0)
    {
        boolean allSignaturesAreValid = true;

        System.out.println("التوقيعات المستخدمة لتوقيع العرض: ");

        // التحقق مما إذا كانت جميع التوقيعات الرقمية صالحة
        for (IDigitalSignature signature : pres.getDigitalSignatures())
        {
            System.out.println(signature.getComments() + ", "
                    + signature.getSignTime().toString() + " -- " + (signature.isValid() ? "صالح" : "غير صالح"));
            allSignaturesAreValid &= signature.isValid();
        }

        if (allSignaturesAreValid)
            System.out.println("العرض أصلي، جميع التوقيعات صالحة.");
        else
            System.out.println("تم تعديل العرض منذ التوقيع.");
    }
} finally {
    if (pres != null) pres.dispose();
}