獲取并驗(yàn)證 PDF 中的數(shù)字簽名
Spire.PDF for .NET 是一款專門對(duì) Word 文檔進(jìn)行操作的 .NET 類庫。致力于在于幫助開發(fā)人員輕松快捷高效地創(chuàng)建、編輯、轉(zhuǎn)換和打印 Microsoft Word 文檔,而無需安裝 Microsoft Word。
行號(hào)用于在每行文本旁邊顯示 Word 自動(dòng)計(jì)算的行數(shù)。當(dāng)我們需要參考合同或法律文件等文檔中的特定行時(shí),它非常有用。word中的行號(hào)功能允許我們?cè)O(shè)置起始值、編號(hào)間隔、與文本的距離以及行號(hào)的編號(hào)方式。使用 Spire.Doc,我們可以實(shí)現(xiàn)上述所有功能。本文將介紹如何將 HTML 轉(zhuǎn)換為 PDF。
歡迎加入spire技術(shù)交流群:767755948
Creating digital signature in PDF 廣泛用于保護(hù) PDF 文件。因此,當(dāng)您查看帶有數(shù)字簽名的 PDF 文件時(shí),需要獲取并驗(yàn)證數(shù)字簽名。本文通過 C# 代碼向您展示了 Spire.PDF 獲取和驗(yàn)證 PDF 數(shù)字簽名的解決方案。
確保已正確安裝 Spire.PDF for .NET(2.9 或以上版本)。在下載的 Bin 文件夾中添加 Spire.PDF.dll 作為引用,路徑如下:"..\Spire.PDF\Bin\NET4.0\ Spire.PDF.dl"。
下面是如何獲取和驗(yàn)證數(shù)字簽名的 C# 代碼片段:
加載帶有數(shù)字簽名的 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 }
獲得第一個(gè)簽名:
[C#]
1 PdfSignature signatureOne = signatures[0];
驗(yàn)證簽名:
[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;
獲取簽名開始和結(jié)束有效的日期:
[C#]
1 DateTime validStart = certificate.NotBefore; 2 DateTime validEnd = certificate.NotAfter;
獲取證書的版本:
[C#]
1 int version = certificate.Version;
從證書中獲取主題區(qū)分名稱:
[C#]
1 int version = certificate.Version;
從證書中獲取主題區(qū)分名稱:
[C#]
1 string subject = certificate.Subject;
請(qǐng)查看下面的有效截圖: