เพิ่มลายเซ็นดิจิทัลให้กับงานนำเสนอใน Java
บทนำ
ใบรับรองดิจิทัล ใช้เพื่อสร้างงานนำเสนอ PowerPoint ที่ป้องกันด้วยรหัสผ่าน, ระบุว่าเป็นการสร้างโดยองค์กรหรือบุคคลเฉพาะ. สามารถขอใบรับรองดิจิทัลได้โดยติดต่อกับองค์กรที่ได้รับอณุมัติ – หน่วยงานออกใบรับรอง. หลังจากติดตั้งใบรับรองดิจิทัลลงในระบบ, สามารถใช้เพิ่มลายเซ็นดิจิทัลลงในงานนำเสนอผ่าน File->Info->Protect Presentation:
งานนำเสนออาจมีลายเซ็นดิจิทัลมากกว่าหนึ่งรายการ. หลังจากเพิ่มลายเซ็นดิจิทัลลงในงานนำเสนอ, ข้อความพิเศษจะปรากฏใน PowerPoint:
เพื่อทำการเซ็นงานนำเสนอหรือเพื่อตรวจสอบความถูกต้องของลายเซ็นในงานนำเสนอ, Aspose.Slides API มีอินเทอร์เฟซ IDigitalSignature, IDigitalSignatureCollection และเมธอด IPresentation.getDigitalSignatures . ปัจจุบัน ลายเซ็นดิจิทัลรองรับเฉพาะรูปแบบ PPTX เท่านั้น.
เพิ่มลายเซ็นดิจิทัลจากใบรับรอง PFX
ตัวอย่างโค้ดด้านล่างแสดงวิธีเพิ่มลายเซ็นดิจิทัลจากใบรับรอง PFX:
- เปิดไฟล์ PFX และส่งรหัสผ่าน PFX ให้กับอ็อบเจ็กต์ DigitalSignature.
- เพิ่มลายเซ็นที่สร้างขึ้นไปยังอ็อบเจ็กต์ presentation.
// กำลังเปิดไฟล์งานนำเสนอ
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();
}
คำถามที่พบบ่อย
สามารถลบลายเซ็นที่มีอยู่ในไฟล์ได้หรือไม่?
ใช่. คอลเลกชันลายเซ็นดิจิทัลสนับสนุนการ removing individual items และการ clearing it entirely; หลังจากคุณบันทึกไฟล์, งานนำเสนอจะไม่มีลายเซ็นใด ๆ.
ไฟล์จะกลายเป็น “อ่านอย่างเดียว” หลังจากเซ็นหรือไม่?
ไม่. ลายเซ็นช่วยรักษาความสมบูรณ์และความเป็นผู้เขียน แต่ไม่ได้บล็อกการแก้ไข. หากต้องการจำกัดการแก้ไข, ให้รวมกับ “Read-only” or a password.
ลายเซ็นจะแสดงผลอย่างถูกต้องในเวอร์ชันต่าง ๆ ของ PowerPoint หรือไม่?
ลายเซ็นถูกสร้างสำหรับคอนเทนเนอร์ OOXML (PPTX). เวอร์ชันล่าสุดของ PowerPoint ที่สนับสนุนลายเซ็น OOXML จะแสดงสถานะของลายเซ็นเหล่านั้นอย่างถูกต้อง.