基于证书的数字签名是一种电子签名类型,可为签名者的身份提供最高级别的保证并遵守严格的规定。在本文中,我们将学习使用 Java 以编程方式验证数字签名文档。在 较早的帖子 之一中,我们讨论了使用 C# 验证文档中的数字签名。

用于签名验证的 Java API

GroupDocs.Signature 用于使用 Java 签署文档

本文使用 GroupDocs 的 Java 文档签名 API。 GroupDocs.Signatures for Java 支持以下类型的电子签名:

  • 条码签名
  • 表单域签名
  • 图像签名
  • 元数据签名
  • 二维码签名
  • 邮票签名
  • 文字签名

因此,最好通过从 下载部分 下载库或在基于 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 功能的更多信息。

也可以看看