التوقيع الرقمي في باوربوينت
الشهادة الرقمية تُستخدم لإنشاء عرض باوربوينت محمي بكلمة مرور، وعلامة على أنه تم إنشاؤه بواسطة منظمة أو شخص معين. يمكن الحصول على الشهادة الرقمية من خلال الاتصال بمنظمة مرخصة - هيئة الشهادات. بعد تثبيت الشهادة الرقمية في النظام، يمكن استخدامها لإضافة توقيع رقمي إلى العرض عبر ملف -> معلومات -> حماية العرض:
يمكن أن يحتوي العرض على أكثر من توقيع رقمي واحد. بعد إضافة التوقيع الرقمي إلى العرض، ستظهر رسالة خاصة في باوربوينت:
للتوقيع على العرض أو للتحقق من صحة توقيعات العرض، يوفر 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();
}