ลายเซ็นดิจิทัลใช้เพื่อรักษาความปลอดภัยเอกสาร PDF ก่อนที่จะแชร์กับบุคคลที่สาม การเซ็นชื่อแบบดิจิทัลในเอกสาร PDF ทำให้สามารถตรวจจับการปลอมแปลงได้โดยการตรวจสอบเอกสารโดยใช้ลายเซ็นดิจิทัล เพื่อรักษาความปลอดภัยเอกสาร PDF โดยทางโปรแกรมโดยใช้ลายเซ็นดิจิทัล บทความนี้จะแสดงวิธีเพิ่มลายเซ็นดิจิทัลในไฟล์ PDF ใน C# คุณจะได้เรียนรู้วิธีตรวจสอบลายเซ็นดิจิทัลในไฟล์ PDF ใน C#
- C # API เพื่อเซ็นชื่อแบบดิจิทัล PDF
- เพิ่มลายเซ็นดิจิทัลในเอกสาร PDF โดยใช้ C#
- เซ็นเอกสาร PDF แบบดิจิทัลด้วยเซิร์ฟเวอร์ Timestamp ใน C #
- ตรวจสอบลายเซ็นดิจิทัลใน PDF โดยใช้ C#
C# .NET API เพื่อเพิ่มลายเซ็นดิจิทัลใน PDF
ในการเพิ่มและตรวจสอบลายเซ็นดิจิทัลในเอกสาร PDF เราจะใช้ Aspose.PDF for .NET API ซึ่งเป็น API การจัดการ PDF ที่ทรงพลังสำหรับการสร้าง แก้ไข แปลง และเซ็นเอกสาร PDF แบบดิจิทัล คุณสามารถ ดาวน์โหลด Aspose.PDF สำหรับ .NET หรือติดตั้งด้วยวิธีใดวิธีหนึ่งต่อไปนี้ใน Visual Studio:
ผู้จัดการแพ็คเกจ NuGet
คอนโซลตัวจัดการแพ็คเกจ
PM> Install-Package Aspose.PDF
เพิ่มลายเซ็นดิจิทัลให้กับ PDF ใน C#
ต่อไปนี้เป็นขั้นตอนในการเซ็นเอกสาร PDF โดยใช้ Aspose.PDF สำหรับ .NET
- สร้างวัตถุของคลาส Document และเริ่มต้นด้วยเส้นทางของเอกสาร PDF
- สร้างวัตถุของคลาส PdfFileSignature และเริ่มต้นด้วยวัตถุของคลาส Document
- สร้างวัตถุของคลาส PKCS7 และเริ่มต้นด้วยเส้นทางใบรับรองและรหัสผ่าน
- สร้างและเริ่มต้นวัตถุของคลาส DocMDPSignature สำหรับประเภทลายเซ็น MDP
- สร้าง สี่เหลี่ยมผืนผ้า สำหรับตำแหน่งลายเซ็น
- เซ็นชื่อแบบดิจิทัลในเอกสาร PDF โดยใช้วิธี PdfFileSignature.Certify()
- บันทึกเอกสารโดยใช้เมธอด PdfFileSignature.Save()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มลายเซ็นดิจิทัลในเอกสาร PDF ใน C#
// โหลดเอกสาร PDF
using (Document pdfDocument = new Document("Document.pdf"))
{
using (PdfFileSignature signature = new PdfFileSignature(pdfDocument))
{
PKCS7 pkcs = new PKCS7("certificate.pfx", "1234567890"); // Use PKCS7/PKCS7Detached objects
DocMDPSignature docMdpSignature = new DocMDPSignature(pkcs, DocMDPAccessPermissions.FillingInForms);
System.Drawing.Rectangle rect = new System.Drawing.Rectangle(100, 100, 200, 100);
// ตั้งค่าลักษณะลายเซ็น
signature.SignatureAppearance = @"aspose-logo.png";
// สร้างลายเซ็นใด ๆ ในสามประเภท
signature.Certify(1, "Signature Reason", "Contact", "Location", true, rect, docMdpSignature);
// บันทึกไฟล์ PDF ที่เซ็นชื่อแบบดิจิทัล
signature.Save("Digitally Signed PDF.pdf");
}
}
C# เพิ่มลายเซ็นดิจิทัลเป็น PDF โดยใช้ Timestamp Server
คุณยังสามารถเพิ่มลายเซ็นดิจิทัลในเอกสาร PDF ด้วยเซิร์ฟเวอร์ TimeStamp โดยระบุรายละเอียดโดยใช้คลาส TimestampSettings ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเซ็นเอกสาร PDF แบบดิจิทัลด้วยเซิร์ฟเวอร์ TimeStamp ใน C#
// โหลดเอกสาร PDF
using (Document pdfDocument = new Document("Document.pdf"))
{
using (PdfFileSignature signature = new PdfFileSignature(pdfDocument))
{
PKCS7 pkcs = new PKCS7("certificate.pfx", "WebSales"); // Use PKCS7/PKCS7Detached objects
TimestampSettings timestampSettings = new TimestampSettings("https:\\your_timestamp_settings", "user:password"); // User/Password can be omitted
pkcs.TimestampSettings = timestampSettings;
System.Drawing.Rectangle rect = new System.Drawing.Rectangle(100, 100, 200, 100);
// สร้างลายเซ็นใด ๆ ในสามประเภท
signature.Sign(1, "Signature Reason", "Contact", "Location", true, rect, pkcs);
// บันทึกไฟล์ PDF ที่ส่งออก
signature.Save("Output.pdf");
}
}
ตรวจสอบ PDF ที่เซ็นชื่อแบบดิจิทัลใน C#
ต่อไปนี้เป็นขั้นตอนในการตรวจสอบลายเซ็นดิจิทัลในเอกสาร PDF:
- สร้างวัตถุของคลาส Document และเริ่มต้นด้วยเส้นทางของเอกสาร PDF
- สร้างวัตถุของคลาส PdfFileSignature และเริ่มต้นด้วยวัตถุของคลาส Document
- เข้าถึงลายเซ็นทั้งหมดของเอกสาร PDF
- ตรวจสอบความถูกต้องของลายเซ็นโดยใช้เมธอด PdfFileSignature.VerifySigned()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการตรวจสอบลายเซ็นดิจิทัลใน PDF โดยใช้ C#
// โหลดเอกสาร PDF
using (Document pdfDocument = new Document("Document.pdf"))
{
using (PdfFileSignature signature = new PdfFileSignature(pdfDocument))
{
IList<string> sigNames = signature.GetSignNames();
if (sigNames.Count > 0) // Any signatures?
{
if (signature.VerifySigned(sigNames[0] as string)) // Verify first one
{
if (signature.IsCertified) // Certified?
{
if (signature.GetAccessPermissions() == DocMDPAccessPermissions.FillingInForms) // Get access permission
{
// ทำอะไรสักอย่าง
}
}
}
}
}
}
ลองใช้ Aspose.PDF สำหรับ .NET ฟรี
คุณสามารถรับ ใบอนุญาตชั่วคราวฟรี เพื่อลองใช้ Aspose.PDF สำหรับ .NET
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีเพิ่มลายเซ็นดิจิทัลให้กับไฟล์ PDF ใน C#.NET นอกจากนี้ คุณได้เห็นวิธีการตรวจสอบไฟล์ PDF ที่เซ็นชื่อแบบดิจิทัลโดยทางโปรแกรมใน C# คุณสามารถติดตั้ง Aspose.PDF สำหรับ .NET ในแอปพลิเคชันของคุณและเซ็นชื่อไฟล์ PDF แบบดิจิทัลได้อย่างราบรื่น