เพิ่มลายเซ็นดิจิทัลให้กับการนำเสนอใน JavaScript
บทนำ
ใบรับรองดิจิทัล ใช้เพื่อสร้างการนำเสนอ PowerPoint ที่มีการป้องกันด้วยรหัสผ่าน ซึ่งระบุว่าได้สร้างโดยองค์กรหรือบุคคลเฉพาะ ใบรับรองดิจิทัลสามารถได้รับโดยการติดต่อองค์กรที่ได้รับอนุญาต – หน่วยงานออกใบรับรอง หลังจากติดตั้งใบรับรองดิจิทัลลงในระบบแล้ว สามารถใช้เพื่อเพิ่มลายเซ็นดิจิทัลลงในงานนำเสนอผ่านเมนู File -> Info -> Protect Presentation:
งานนำเสนออาจมีลายเซ็นดิจิทัลมากกว่าหนึ่งรายการ หลังจากที่เพิ่มลายเซ็นดิจิทัลลงในงานนำเสนอแล้ว ข้อความพิเศษจะปรากฏใน PowerPoint:
เพื่อเซ็นงานนำเสนอหรือตรวจสอบความแท้ของลายเซ็นในงานนำเสนอ, Aspose.Slides API ให้คลาส DigitalSignature , คลาส DigitalSignatureCollection และเมธอด Presentation.getDigitalSignatures ปัจจุบันลายเซ็นดิจิทัลรองรับเฉพาะรูปแบบ PPTX เท่านั้น.
เพิ่มลายเซ็นดิจิทัลจากใบรับรอง PFX
ตัวอย่างโค้ดด้านล่างแสดงวิธีการเพิ่มลายเซ็นดิจิทัลจากใบรับรอง PFX:
- เปิดไฟล์ PFX และส่งรหัสผ่าน PFX ไปยังอ็อบเจ็กต์ DigitalSignature.
- เพิ่มลายเซ็นที่สร้างขึ้นไปยังอ็อบเจ็กต์งานนำเสนอ.
// กำลังเปิดไฟล์งานนำเสนอ
var pres = new aspose.slides.Presentation();
try {
// สร้างอ็อบเจ็กต์ DigitalSignature ด้วยไฟล์ PFX และรหัสผ่าน PFX
var signature = new aspose.slides.DigitalSignature("testsignature1.pfx", "testpass1");
// แสดงความคิดเห็นลายเซ็นดิจิทัลใหม่
signature.setComments("Aspose.Slides digital signing test.");
// เพิ่มลายเซ็นดิจิทัลลงในงานนำเสนอ
pres.getDigitalSignatures().add(signature);
// บันทึกงานนำเสนอ
pres.save("SomePresentationSigned.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
pres.dispose();
}
ตอนนี้สามารถตรวจสอบได้ว่าการนำเสนอได้ถูกเซ็นดิจิทัลแล้วและไม่ได้ถูกแก้ไขหรือไม่:
// เปิดงานนำเสนอ
var pres = new aspose.slides.Presentation("SomePresentationSigned.pptx");
try {
if (pres.getDigitalSignatures().size() > 0) {
var allSignaturesAreValid = true;
console.log("Signatures used to sign the presentation: ");
// ตรวจสอบว่าลายเซ็นดิจิทัลทั้งหมดเป็นที่ถูกต้องหรือไม่
for (let i = 0; i < pres.getDigitalSignatures().size(); i++) {
let signature = pres.getDigitalSignatures().get_Item(i);
console.log((((signature.getComments() + ", ") + signature.getSignTime().toString()) + " -- ") + (signature.isValid() ? "VALID" : "INVALID"));
allSignaturesAreValid &= signature.isValid();
}
if (allSignaturesAreValid) {
console.log("Presentation is genuine, all signatures are valid.");
} else {
console.log("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 จะแสดงสถานะของลายเซ็นเหล่านี้อย่างถูกต้อง.