إضافة توقيعات رقمية إلى العروض التقديمية في جافا

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

todo:image_alt_text

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

todo:image_alt_text

لتوقيع العرض أو التحقق من صحة توقيعات العرض، Aspose.Slides API توفر IDigitalSignature interface، IDigitalSignatureCollection interface وIPresentation.getDigitalSignatures method. حاليًا، يتم دعم التوقيعات الرقمية لتنسيق 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 digital signing test.");

    // إضافة توقيع رقمي إلى العرض
    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("Signatures used to sign the presentation: ");

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

        if (allSignaturesAreValid)
            System.out.println("Presentation is genuine, all signatures are valid.");
        else
            System.out.println("Presentation has been modified since signing.");
    }
} finally {
    if (pres != null) pres.dispose();
}

FAQ

هل يمكنني إزالة التوقيعات الموجودة من ملف؟

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

هل يصبح الملف “للقراءة فقط” بعد التوقيع؟

لا. يحافظ التوقيع على النزاهة والملكية لكنه لا يمنع التعديلات. لتقييد التحرير، اجمعه مع “Read-only” أو كلمة مرور.

هل سيظهر التوقيع بشكل صحيح في إصدارات PowerPoint المختلفة؟

يُنشأ التوقيع لحاوية OOXML (PPTX). الإصدارات الحديثة من PowerPoint التي تدعم توقيعات OOXML تُظهر حالة هذه التوقيعات بشكل صحيح.