ทำงานกับลายเซ็นดิจิทัล

ลายเซ็นดิจิทัลคือการใช้เทคโนโลยีลายเซ็นอิเล็กทรอนิกส์ในการลงนามในเอกสารและรับรองความถูกต้องของผู้ลงนามเพื่อรับประกันว่าเอกสารจะไม่ได้รับการแก้ไขนับตั้งแต่ลงนาม ลายเซ็นดิจิทัลแต่ละรายการมีเอกลักษณ์เฉพาะสำหรับผู้ลงนามแต่ละคน เนื่องจากปฏิบัติตามโปรโตคอล PKI เพื่อสร้างทั้งคีย์สาธารณะและส่วนตัว การเซ็นเอกสารแบบดิจิทัลหมายถึงการสร้างลายเซ็นโดยใช้คีย์ส่วนตัวของผู้เซ็นชื่อ ซึ่งใช้อัลกอริธึมทางคณิตศาสตร์เพื่อเข้ารหัสแฮชที่สร้างขึ้น

Aspose.Words ช่วยให้คุณตรวจจับ นับ หรือตรวจสอบลายเซ็นดิจิทัลที่มีอยู่ และยังเพิ่มลายเซ็นใหม่ลงในเอกสารของคุณเพื่อค้นหาการปลอมแปลงใดๆ ในนั้น คุณยังสามารถลบลายเซ็นดิจิทัลทั้งหมดออกจากเอกสารได้ ใช้คลาส DigitalSignatureUtil เพื่อทำงานกับลายเซ็นดิจิทัล

บทความนี้จะอธิบายวิธีการดำเนินการทั้งหมดข้างต้นเพื่อตรวจสอบความถูกต้องและความสมบูรณ์ของเอกสารดิจิทัล

รูปแบบที่รองรับ

Aspose.Words ช่วยให้คุณทำงานกับลายเซ็นดิจิทัลในเอกสาร DOC, OOXML และ ODT และลงนามในเอกสารที่สร้างขึ้นในรูปแบบ PDF หรือ XPS

ข้อจำกัดของลายเซ็นดิจิทัล

ตารางด้านล่างอธิบายข้อจำกัดบางประการที่คุณอาจต้องเผชิญขณะใช้งานลายเซ็นดิจิทัลผ่าน Aspose.Words รวมถึงตัวเลือกอื่นๆ บางอย่าง

ข้อจำกัด ทางเลือกอื่น
การสูญเสียลายเซ็นดิจิทัลในเอกสารหลังจากโหลดและบันทึก ดังนั้น การประมวลผลเอกสารไปยังเซิร์ฟเวอร์อาจทำให้ลายเซ็นดิจิทัลทั้งหมดสูญหายโดยไม่ต้องแจ้งให้ทราบ ตรวจสอบว่าเอกสารมีลายเซ็นดิจิทัลหรือไม่ และดำเนินการตามความเหมาะสมหากพบ ตัวอย่างเช่น ส่งการแจ้งเตือนไปยังลูกค้าเพื่อแจ้งให้ทราบว่าเอกสารที่พวกเขากำลังอัปโหลดมีลายเซ็นดิจิทัลที่จะหายไปหากมีการประมวลผล
Aspose.Words รองรับการทำงานกับมาโครในเอกสาร แต่ Aspose.Words ยังไม่รองรับลายเซ็นดิจิทัลในมาโคร ส่งออกเอกสารกลับไปเป็นรูปแบบ Word ใดก็ได้ และใช้ Microsoft Word เพื่อเพิ่มลายเซ็นดิจิทัลลงในมาโคร

ตรวจจับ นับ และตรวจสอบลายเซ็นดิจิทัล

Aspose.Words ช่วยให้คุณตรวจจับลายเซ็นดิจิทัลในเอกสารโดยใช้วิธี DetectFileFormat และคุณสมบัติ HasDigitalSignature เป็นที่น่าสังเกตว่าการตรวจสอบดังกล่าวจะตรวจจับข้อเท็จจริงของลายเซ็นเท่านั้น แต่ไม่ใช่ความถูกต้อง

เอกสารสามารถลงนามได้มากกว่าหนึ่งครั้ง และผู้ใช้หลายรายสามารถทำได้ หากต้องการตรวจสอบความถูกต้องของลายเซ็นดิจิทัล คุณต้องโหลดลายเซ็นดิจิทัลจากเอกสารโดยใช้วิธี LoadSignatures และใช้คุณสมบัติ IsValid นอกจากนี้ Aspose.Words ยังให้คุณนับชุดลายเซ็นดิจิทัลทั้งหมดภายในเอกสารโดยใช้คุณสมบัติ Count

ทั้งหมดนี้เป็นวิธีที่มีประสิทธิภาพและปลอดภัยในการตรวจสอบลายเซ็นในเอกสารก่อนดำเนินการ

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการตรวจหาการมีอยู่ของลายเซ็นดิจิทัลและตรวจสอบ:

สร้าง {#create-a-digital-signature} ลายเซ็นดิจิทัล

หากต้องการสร้างลายเซ็นดิจิทัล คุณจะต้องโหลดใบรับรองการลงนามที่ยืนยันตัวตน เมื่อคุณส่งเอกสารที่เซ็นชื่อแบบดิจิทัล คุณจะส่งใบรับรองและคีย์สาธารณะของคุณด้วย

Aspose.Words ช่วยให้คุณสร้างใบรับรอง X.509 ซึ่งเป็นใบรับรองดิจิทัลที่ใช้มาตรฐาน X.509 PKI ที่เป็นที่ยอมรับในระดับสากลเพื่อตรวจสอบว่าคีย์สาธารณะเป็นของผู้ลงนามที่รวมอยู่ในใบรับรอง เมื่อต้องการทำเช่นนี้ ให้ใช้วิธีการ Create ภายในคลาส CertificateHolder

ส่วนถัดไปจะอธิบายวิธีการเพิ่มลายเซ็นดิจิทัล บรรทัดลายเซ็น และวิธีการลงนามในเอกสาร PDF ที่สร้างขึ้น

ลงนามในเอกสาร

Aspose.Words ช่วยให้คุณสามารถลงนามในเอกสาร DOC, DOCX, XPS หรือ ODT ในรูปแบบดิจิทัลโดยใช้วิธี Sign และคุณสมบัติ SignOptions

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการลงนามในเอกสารโดยใช้ผู้ถือใบรับรองและตัวเลือกการลงนาม:

เพิ่มบรรทัดลายเซ็น

บรรทัดลายเซ็นคือการแสดงลายเซ็นดิจิทัลในเอกสารด้วยภาพ Aspose.Words ช่วยให้คุณสามารถแทรกบรรทัดลายเซ็นโดยใช้วิธี DocumentBuilder.InsertSignatureLine คุณยังสามารถตั้งค่าพารามิเตอร์สำหรับการเป็นตัวแทนนี้โดยใช้คลาส SignatureLineOptions

ตัวอย่างเช่น รูปภาพด้านล่างแสดงให้เห็นว่าลายเซ็นที่ถูกต้องและไม่ถูกต้องสามารถแสดงได้อย่างไร

การวาดภาพ การวาดภาพ

นอกจากนี้ หากเอกสารมีบรรทัดลายเซ็นและไม่มีลายเซ็นดิจิทัล ก็มีคุณสมบัติที่จะขอให้ผู้ใช้เพิ่มลายเซ็น

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการลงนามในเอกสารด้วยใบรับรองส่วนบุคคลและบรรทัดลายเซ็นเฉพาะ:

ลงนามในเอกสาร PDF ที่สร้างขึ้น

Aspose.Words อนุญาตให้คุณลงนามและรับรายละเอียดทั้งหมดของเอกสาร PDF โดยใช้คุณสมบัติ PdfDigitalSignatureDetails

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการลงนามใน PDF ที่สร้างขึ้น:

ดึงค่าลายเซ็นดิจิทัล

Aspose.Words ยังให้ความสามารถในการดึงค่าลายเซ็นดิจิทัลจากเอกสารที่เซ็นชื่อแบบดิจิทัลเป็นอาร์เรย์ไบต์โดยใช้คุณสมบัติ SignatureValue

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการรับค่าลายเซ็นดิจิทัลเป็นอาร์เรย์ไบต์จากเอกสาร:

ลบลายเซ็นดิจิทัล

Aspose.Words ช่วยให้คุณสามารถลบลายเซ็นดิจิทัลทั้งหมดออกจากเอกสารที่ลงนามโดยใช้วิธี RemoveAllSignatures

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการโหลดและลบลายเซ็นดิจิทัลออกจากเอกสาร: