基於證書的數字簽名是一種電子簽名類型,可以為簽名者的身份提供最高級別的保證,並符合嚴格的規定。在本文中,我們將學習使用 Java 以編程方式驗證數字簽名文檔。在 早期帖子 的一篇中,我們討論了使用 C# 驗證文檔中的數字簽名。

用於簽名驗證的 Java API

用於使用 Java 簽署文檔的 GroupDocs.Signature

本文使用 GroupDocs 的 Document Signature API for Java。 GroupDocs.Signatures for Java 支持以下類型的電子簽名:

  • 條形碼簽名
  • 表單域簽名
  • 圖像簽名
  • 元數據簽名
  • QR碼簽名
  • 郵票簽名
  • 文本簽名

因此,最好通過從 下載部分 下載庫或在基於 Maven 的應用程序中設置上述配置來預先準備工作區。

使用 Java 驗證數字簽名 PDF 文檔的步驟

按照這些步驟,您可以驗證數字簽名的文檔。在此示例中,我使用 PDF 文檔進行驗證,但是,相同的步驟也適用於 MS Word 文檔、Excel 電子表格和 Powerpoint 演示文稿。

  1. 使用源文檔實例化 Signature 對象。
  2. 實例化 DigitalVerifyOptions 類對象並指定驗證選項。
  3. 調用Signature的verify方法,傳遞指定的驗證選項。

下面是顯示上述過程的完整示例源代碼。這裡的 Java 代碼驗證了數字簽名的 PDF 文檔。您還可以驗證數字簽名的文字處理文檔,例如 MS Word DOC/DOCX、Excel 電子表格 XLS/XLSX 和演示文稿 PPT/PPTX。

// 使用 GroupDocs 的 Signature API for Java 驗證 PDF 文檔中的數字簽名
Signature signature = new Signature("sample_signed.pdf");

DigitalVerifyOptions options = new DigitalVerifyOptions("certificate.pfx");
options.setComments("Test comment");
options.setPassword("1234567890");

// 驗證文件簽名
VerificationResult result = signature.verify(options);
if (result.isValid()) {
    System.out.println("Document Verified Successfully !");
}
else {
    System.out.println("Document Verification Failed.");
}

結論

今天,我們學習了使用 Java 驗證數字簽名的 MS Word、Excel、PowerPoint 和 PDF 文檔。您可以使用 文檔文章 探索有關 GroupDocs.Signature for Java 功能的更多信息。

也可以看看