التوقيع الرقمي في PowerPoint
الشهادة الرقمية تُستخدم لإنشاء عرض PowerPoint محمي بكلمة مرور، مُعلمة كُمنشأة بواسطة منظمة معينة أو شخص معين. يمكن الحصول على الشهادة الرقمية من خلال الاتصال بمنظمة مخولة - سلطة التصديق. بعد تثبيت الشهادة الرقمية في النظام، يمكن استخدامها لإضافة توقيع رقمي للعرض عبر ملف -> معلومات -> حماية العرض:
يمكن أن يحتوي العرض على أكثر من توقيع رقمي واحد. بعد إضافة التوقيع الرقمي إلى العرض، ستظهر رسالة خاصة في PowerPoint:
للتوقيع على العرض أو التحقق من مصداقية توقيعات العرض، يوفر Aspose.Slides API واجهة IDigitalSignature وواجهة IDigitalSignatureCollection وطريقة IPresentation.getDigitalSignatures . حالياً، يتم دعم التوقيعات الرقمية لصيغة PPTX فقط.
إضافة توقيع رقمي من شهادة PFX
توضح عينة الكود أدناه كيفية إضافة توقيع رقمي من شهادة PFX:
- افتح ملف PFX ومرر كلمة مرور PFX إلى كائن DigitalSignature.
- أضف التوقيع الذي تم إنشاؤه إلى كائن العرض.
// فتح ملف العرض
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();
}