翻譯|行業資訊|編輯:胡濤|2024-01-03 10:54:36.477|閱讀 99 次
概述:本文向您展示了一種通過使用Spire.PDF和 C# 代碼來獲取和驗證 PDF 中的數字簽名的解決方案。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
在 PDF 中創建數字簽名廣泛用于保護 PDF 文件。因此,當您查看一些帶有數字簽名的PDF文件時,需要獲取并驗證數字簽名。本文向您展示了一種通過使用Spire.PDF和 C# 代碼來獲取和驗證 PDF 中的數字簽名的解決方案。
Spire.PDF for .NET 是一款獨立 PDF 控件,用于 .NET 程序中創建、編輯和操作 PDF 文檔。使用 Spire.PDF 類庫,開發人員可以新建一個 PDF 文檔或者對現有的 PDF 文檔進行處理,且無需安裝 Adobe Acrobat。
E-iceblue 功能類庫Spire 系列文檔處理組件均由中國本土團隊研發,不依賴第三方軟件,不受其他國家的技術或法律法規限制,同時適配國產操作系統如中科方德、中標麒麟等,兼容國產文檔處理軟件 WPS(如 .wps/.et/.dps 等格式
Spire.PDF for.net下載 Spire.PDF for java下載
確保 Spire.PDF for .NET(版本 2.9 或更高版本)已正確安裝。在下載的 Bin 文件夾中添加 Spire.PDF.dll 作為參考,路徑如下:“..\Spire.PDF\Bin\NET4.0\ Spire.PDF.dl”。
下面是如何獲取和驗證數字簽名的C#代碼片段:
加載帶有數字簽名的 PDF 文件。
string filename = @"..\..\DigitalSignature.pdf";
獲取 PDF 中的所有簽名:
[C#]
List<PdfSignature> signatures = new List<PdfSignature>(); PdfDocument doc = new PdfDocument(filename); PdfFormWidget form = (PdfFormWidget)doc.Form; for (int i = 0; i < form.FieldsWidget.Count; ++i) { PdfSignatureFieldWidget field = form.FieldsWidget[i] as PdfSignatureFieldWidget; if (field != null && field.Signature != null) { PdfSignature signature = field.Signature; signatures.Add(signature); } }
獲取第一個簽名:
[C#]
PdfSignature signatureOne = signatures[0];
驗證簽名:
[C#]
try { bool bSignature = signatureOne.VerifySignature(); } catch (Exception ex) { Console.WriteLine(ex.Message); Console.ReadLine(); }
獲取簽名日期:
[C#]
DateTime date = signatureOne.Date;
獲取簽名開始和結束有效的日期:
[C#]
DateTime validStart = certificate.NotBefore; DateTime validEnd = certificate.NotAfter;
獲取證書的版本:
[C#]
int version = certificate.Version;
從證書中獲取主題專有名稱:
[C#]
string subject = certificate.Subject;
請查看有效截圖如下:
以上便是如何取并驗證 PDF 中的數字簽名,如果您有其他問題也可以繼續瀏覽本系列文章,獲取相關教程,你還可以給我留言或者加入我們的官方技術交流群。
歡迎下載|體驗更多E-iceblue產品
獲取更多信息請咨詢 ;技術交流Q群(767755948)
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn