การแนะนำ
ในภูมิทัศน์ดิจิทัลปัจจุบัน การรับรองความถูกต้องและความสมบูรณ์ของเอกสารเป็นสิ่งสำคัญอย่างยิ่งสำหรับธุรกิจและองค์กรต่างๆ ลายเซ็นดิจิทัลเป็นกลไกที่แข็งแกร่งสำหรับการตรวจสอบความถูกต้องของเอกสารและการตรวจจับการแก้ไขที่ไม่ได้รับอนุญาต GroupDocs.Signature สำหรับ .NET นำเสนอโซลูชันที่ครอบคลุมสำหรับการทำงานกับลายเซ็นดิจิทัลในรูปแบบเอกสารต่างๆ ช่วยให้นักพัฒนาสามารถผสานรวมฟังก์ชันลายเซ็นเข้ากับแอปพลิเคชัน .NET ได้อย่างราบรื่น
บทช่วยสอนนี้จะแนะนำคุณเกี่ยวกับกระบวนการค้นหาลายเซ็นดิจิทัลภายในเอกสารโดยใช้ GroupDocs.Signature สำหรับ .NET พร้อมทั้งมีคำอธิบายโดยละเอียดและตัวอย่างโค้ดในทางปฏิบัติ
ข้อกำหนดเบื้องต้น
ก่อนที่จะเจาะลึกรายละเอียดการใช้งาน ให้แน่ใจว่าคุณมีข้อกำหนดเบื้องต้นดังต่อไปนี้:
GroupDocs.Signature สำหรับ .NET: ดาวน์โหลดและติดตั้งไลบรารีจาก ที่นี่.
สภาพแวดล้อมการพัฒนา: ตั้งค่าสภาพแวดล้อมการพัฒนา .NET ด้วย Visual Studio หรือ IDE ที่คุณต้องการ
เอกสารตัวอย่าง: เตรียมเอกสารตัวอย่างที่มีลายเซ็นดิจิทัลเพื่อวัตถุประสงค์ในการทดสอบ
ความรู้พื้นฐาน: ความคุ้นเคยกับภาษาการเขียนโปรแกรม C# และพื้นฐานของกรอบงาน .NET
นำเข้าเนมสเปซ
เริ่มต้นด้วยการนำเข้าเนมสเปซที่จำเป็นเพื่อเข้าถึงฟังก์ชันการทำงานที่ GroupDocs.Signature จัดทำไว้สำหรับ .NET:
using System;
using System.Collections.Generic;
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;
ตอนนี้มาแบ่งกระบวนการค้นหาลายเซ็นดิจิทัลออกเป็นขั้นตอนที่ชัดเจนและจัดการได้:
ขั้นตอนที่ 1: เริ่มต้นวัตถุลายเซ็น
เริ่มต้นด้วยการสร้างอินสแตนซ์ของ Signature
คลาส ส่งผ่านเส้นทางไปยังเอกสารของคุณ:
string filePath = "sample_multiple_signatures.docx";
using (Signature signature = new Signature(filePath))
{
// จะเพิ่มโค้ดสำหรับค้นหาลายเซ็นดิจิทัลไว้ที่นี่
}
ขั้นตอนที่ 2: ค้นหาลายเซ็นดิจิทัล
ต่อไปใช้ Search
วิธีการด้วย SignatureType.Digital
พารามิเตอร์ในการค้นหาลายเซ็นดิจิทัลในเอกสาร:
// ค้นหาลายเซ็นดิจิทัลในเอกสาร
List<DigitalSignature> signatures = signature.Search<DigitalSignature>(SignatureType.Digital);
ขั้นตอนที่ 3: ประมวลผลและแสดงผลลัพธ์
สุดท้ายประมวลผลผลการค้นหาและแสดงข้อมูลที่เกี่ยวข้องเกี่ยวกับลายเซ็นดิจิทัลที่พบ:
Console.WriteLine($"\nSource document ['{filePath}'] contains the following digital signatures:");
foreach (var digitalSignature in signatures)
{
Console.WriteLine($"Digital signature found from {digitalSignature.SignTime} with validation status: {digitalSignature.IsValid}");
Console.WriteLine($"Certificate: Subject: {digitalSignature.Certificate?.SubjectName}");
Console.WriteLine($"Certificate: Issuer: {digitalSignature.Certificate?.IssuerName}");
Console.WriteLine($"Certificate: Serial Number: {digitalSignature.Certificate?.SerialNumber}");
Console.WriteLine();
}
ตัวอย่างที่สมบูรณ์
นี่คือตัวอย่างการทำงานที่สมบูรณ์ซึ่งสาธิตวิธีการค้นหาลายเซ็นดิจิทัลในเอกสาร:
using System;
using System.Collections.Generic;
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;
namespace SearchDigitalSignatures
{
class Program
{
static void Main(string[] args)
{
// เส้นทางเอกสาร
string filePath = "sample_multiple_signatures.docx";
// เริ่มต้นอินสแตนซ์ลายเซ็น
using (Signature signature = new Signature(filePath))
{
// ค้นหาลายเซ็นดิจิทัลในเอกสาร
List<DigitalSignature> signatures = signature.Search<DigitalSignature>(SignatureType.Digital);
// แสดงผลการค้นหา
Console.WriteLine($"\nSource document ['{filePath}'] contains the following digital signatures:");
if (signatures.Count > 0)
{
foreach (var digitalSignature in signatures)
{
Console.WriteLine($"Digital signature found from {digitalSignature.SignTime} with validation status: {digitalSignature.IsValid}");
Console.WriteLine($"Certificate: Subject: {digitalSignature.Certificate?.SubjectName}");
Console.WriteLine($"Certificate: Issuer: {digitalSignature.Certificate?.IssuerName}");
Console.WriteLine($"Certificate: Serial Number: {digitalSignature.Certificate?.SerialNumber}");
Console.WriteLine();
}
}
else
{
Console.WriteLine("No digital signatures found in the document.");
}
}
}
}
}
ตัวเลือกการค้นหาขั้นสูง
สำหรับการค้นหาที่ตรงเป้าหมายมากขึ้นคุณสามารถใช้ DigitalSearchOptions
เพื่อปรับแต่งเกณฑ์การค้นหา:
// สร้างตัวเลือกการค้นหาแบบดิจิทัล
DigitalSearchOptions options = new DigitalSearchOptions()
{
// ค้นหาเฉพาะหน้าที่ระบุ (เช่น หน้า 1 และ 2)
PageNumber = 1,
PagesSetup = new PagesSetup() { Pages = new List<int> { 1, 2 } },
// กรองตามความคิดเห็นในลายเซ็นดิจิทัล
Comments = "Approved",
// กำหนดช่วงวันที่และเวลาสำหรับการค้นหา
SignDateTimeFrom = new DateTime(2022, 1, 1),
SignDateTimeTo = DateTime.Now
};
// ค้นหาด้วยตัวเลือกเฉพาะ
List<DigitalSignature> signatures = signature.Search<DigitalSignature>(options);
การทำงานกับข้อมูลใบรับรอง
ลายเซ็นดิจิทัลมีข้อมูลใบรับรองที่มีค่าที่คุณสามารถเข้าถึงและตรวจสอบได้:
foreach (var digitalSignature in signatures)
{
if (digitalSignature.Certificate != null)
{
// คุณสมบัติใบรับรองการเข้าถึง
Console.WriteLine($"Certificate Valid From: {digitalSignature.Certificate.NotBefore}");
Console.WriteLine($"Certificate Valid To: {digitalSignature.Certificate.NotAfter}");
// ตรวจสอบว่าใบรับรองอยู่ในช่วงวันที่ถูกต้องหรือไม่
bool isDateValid = DateTime.Now >= digitalSignature.Certificate.NotBefore &&
DateTime.Now <= digitalSignature.Certificate.NotAfter;
Console.WriteLine($"Certificate Date Validity: {isDateValid}");
// รายละเอียดผู้ออกใบรับรองการเข้าถึง
Console.WriteLine($"Certificate Issuer: {digitalSignature.Certificate.IssuerName}");
}
}
บทสรุป
GroupDocs.Signature สำหรับ .NET มอบโซลูชันที่ทรงพลังและยืดหยุ่นสำหรับการค้นหาและตรวจสอบลายเซ็นดิจิทัลภายในเอกสาร ในบทช่วยสอนนี้ เราได้สำรวจกระบวนการทีละขั้นตอนในการนำฟังก์ชันการค้นหาลายเซ็นดิจิทัลไปใช้ในแอปพลิเคชัน .NET เพื่อให้คุณมีความรู้ในการยกระดับความปลอดภัยและการตรวจสอบความถูกต้องของเอกสาร
การใช้ประโยชน์จาก GroupDocs.Signature จะช่วยให้คุณสร้างระบบการจัดการเอกสารที่แข็งแกร่งซึ่งรับรองความถูกต้องและความสมบูรณ์ของเอกสารดิจิทัลของคุณ ส่งเสริมความน่าเชื่อถือและการปฏิบัติตามข้อกำหนดในกระบวนการทางธุรกิจของคุณ
คำถามที่พบบ่อย
GroupDocs.Signature สามารถตรวจสอบความถูกต้องของลายเซ็นดิจิทัลได้หรือไม่
ใช่ GroupDocs.Signature จะตรวจสอบลายเซ็นดิจิทัลโดยอัตโนมัติในระหว่างกระบวนการค้นหา และให้สถานะการตรวจสอบผ่านทาง IsValid
ทรัพย์สินของ DigitalSignature
ระดับ.
รูปแบบเอกสารใดบ้างที่รองรับการค้นหาลายเซ็นดิจิทัล?
GroupDocs.Signature รองรับการค้นหาลายเซ็นดิจิทัลในรูปแบบต่างๆ รวมถึง PDF, เอกสาร Microsoft Office (Word, Excel, PowerPoint), รูปแบบ OpenOffice และอื่นๆ อีกมากมาย
ฉันสามารถค้นหาลายเซ็นดิจิทัลในเอกสารที่ป้องกันด้วยรหัสผ่านได้หรือไม่
ใช่ คุณสามารถค้นหาลายเซ็นดิจิทัลในเอกสารที่ได้รับการป้องกันด้วยรหัสผ่านโดยระบุรหัสผ่านเมื่อเริ่มต้นใช้งาน Signature
วัตถุ:
LoadOptions loadOptions = new LoadOptions() { Password = "your_password" };
using (Signature signature = new Signature(filePath, loadOptions))
{
// ค้นหาลายเซ็นดิจิทัล
}
ฉันจะตรวจสอบได้อย่างไรว่าลายเซ็นดิจิทัลถูกสร้างโดยบุคคลใดบุคคลหนึ่งหรือไม่
คุณสามารถตรวจสอบชื่อเรื่องของใบรับรองและคุณสมบัติอื่น ๆ เพื่อยืนยันตัวตนของผู้ลงนามได้:
foreach (var signature in signatures)
{
if (signature.Certificate?.SubjectName?.Contains("John Doe") == true)
{
Console.WriteLine("Found signature by John Doe");
}
}
ฉันสามารถดึงคีย์สาธารณะจากใบรับรองลายเซ็นดิจิทัลได้หรือไม่
ใช่ คุณสามารถเข้าถึงข้อมูลคีย์สาธารณะได้ผ่านคุณสมบัติใบรับรอง:
if (signature.Certificate != null)
{
// เข้าถึงข้อมูลคีย์สาธารณะ
Console.WriteLine($"Public Key: {signature.Certificate.GetPublicKeyString()}");
}