التوقيع الرقمي في PowerPoint

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

todo:image_alt_text

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

todo:image_alt_text

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

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

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

  1. افتح ملف PFX ومرر كلمة مرور PFX إلى DigitalSignature كائن.
  2. أضف التوقيع الذي تم إنشاؤه إلى كائن العرض.
  # فتح ملف العرض
  $pres = new Presentation();
  try {
    # إنشاء كائن DigitalSignature مع ملف PFX وكلمة مرور PFX
    $signature = new DigitalSignature("testsignature1.pfx", "testpass1");
    # تعليق على التوقيع الرقمي الجديد
    $signature->setComments("اختبار التوقيع الرقمي من Aspose.Slides.");
    # إضافة التوقيع الرقمي إلى العرض
    $pres->getDigitalSignatures()->add($signature);
    # حفظ العرض
    $pres->save("SomePresentationSigned.pptx", SaveFormat::Pptx);
  } finally {
    $pres->dispose();
  }

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

  # فتح العرض
  $pres = new Presentation("SomePresentationSigned.pptx");
  try {
    if (java_values($pres->getDigitalSignatures()->size()) > 0) {
      $allSignaturesAreValid = true;
      echo("التوقيعات المستخدمة لتوقيع العرض: ");
      # التحقق مما إذا كانت جميع التوقيعات الرقمية صالحة
      foreach($pres->getDigitalSignatures() as $signature) {
        echo($signature->getComments() . ", " . $signature->getSignTime()->toString() . " -- " . $signature->isValid() ? "صالح" : "غير صالح");
        $allSignaturesAreValid &= $signature->isValid();
      }
      if ($allSignaturesAreValid) {
        echo("العرض أصلي، جميع التوقيعات صالحة.");
      } else {
        echo("تم تعديل العرض منذ التوقيع.");
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }