獲取并驗證 PDF 中的數字簽名
Spire.PDF for .NET 是一款專門對 Word 文檔進行操作的 .NET 類庫。致力于在于幫助開發人員輕松快捷高效地創建、編輯、轉換和打印 Microsoft Word 文檔,而無需安裝 Microsoft Word。
行號用于在每行文本旁邊顯示 Word 自動計算的行數。當我們需要參考合同或法律文件等文檔中的特定行時,它非常有用。word中的行號功能允許我們設置起始值、編號間隔、與文本的距離以及行號的編號方式。使用 Spire.Doc,我們可以實現上述所有功能。本文將介紹如何將 HTML 轉換為 PDF。
歡迎加入spire技術交流群:767755948
廣泛用于保護 PDF 文件。因此,當您查看帶有數字簽名的 PDF 文件時,需要獲取并驗證數字簽名。本文通過 C# 代碼向您展示了 獲取和驗證 PDF 數字簽名的解決方案。
確保已正確安裝 Spire.PDF for .NET(2.9 或以上版本)。在下載的 Bin 文件夾中添加 Spire.PDF.dll 作為引用,路徑如下:"..\Spire.PDF\Bin\NET4.0\ Spire.PDF.dl"。
下面是如何獲取和驗證數字簽名的 C# 代碼片段:
加載帶有數字簽名的 PDF 文件。
[C#]
1 string filename = @"..\..\DigitalSignature.pdf";
從 PDF 中獲取所有簽名:
[C#]
01 List<PdfSignature> signatures = new List<PdfSignature>(); 02 03 PdfDocument doc = new PdfDocument(filename); 04 05 PdfFormWidget form = (PdfFormWidget)doc.Form; 06 for (int i = 0; i < form.FieldsWidget.Count; ++i) 07 { 08 PdfSignatureFieldWidget field = form.FieldsWidget[i] as PdfSignatureFieldWidget; 09 10 if (field != null && field.Signature != null) 11 { 12 PdfSignature signature = field.Signature; 13 signatures.Add(signature); 14 } 15 }
獲得第一個簽名:
[C#]
1 PdfSignature signatureOne = signatures[0];
驗證簽名:
[C#]
1 try 2 { 3 bool bSignature = signatureOne.VerifySignature(); 4 } 5 catch (Exception ex) 6 { 7 Console.WriteLine(ex.Message); 8 Console.ReadLine(); 9 }
獲取簽名證明:
[C#]
1 X509Certificate2 certificate = signatureOne.Certificate as X509Certificate2;
獲取簽名日期:
[C#]
1 DateTime date = signatureOne.Date;
獲取簽名開始和結束有效的日期:
[C#]
1 DateTime validStart = certificate.NotBefore; 2 DateTime validEnd = certificate.NotAfter;
獲取證書的版本:
[C#]
1 int version = certificate.Version;
從證書中獲取主題區分名稱:
[C#]
1 int version = certificate.Version;
從證書中獲取主題區分名稱:
[C#]
1 string subject = certificate.Subject;
請查看下面的有效截圖:
