基於證書的數字簽名是一種電子簽名類型,可以為簽名者的身份提供最高級別的保證,並符合嚴格的規定。在本文中,我們將學習使用 Java 以編程方式驗證數字簽名文檔。在 早期帖子 的一篇中,我們討論了使用 C# 驗證文檔中的數字簽名。
用於簽名驗證的 Java API
本文使用 GroupDocs 的 Document Signature API for Java。 GroupDocs.Signatures for Java 支持以下類型的電子簽名:
- 條形碼簽名
- 表單域簽名
- 圖像簽名
- 元數據簽名
- QR碼簽名
- 郵票簽名
- 文本簽名
因此,最好通過從 下載部分 下載庫或在基於 Maven 的應用程序中設置上述配置來預先準備工作區。
使用 Java 驗證數字簽名 PDF 文檔的步驟
按照這些步驟,您可以驗證數字簽名的文檔。在此示例中,我使用 PDF 文檔進行驗證,但是,相同的步驟也適用於 MS Word 文檔、Excel 電子表格和 Powerpoint 演示文稿。
- 使用源文檔實例化 Signature 對象。
- 實例化 DigitalVerifyOptions 類對象並指定驗證選項。
- 調用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 功能的更多信息。