基于证书的数字签名是一种电子签名类型,可为签名者的身份提供最高级别的保证并遵守严格的规定。在本文中,我们将学习使用 Java 以编程方式验证数字签名文档。在 较早的帖子 之一中,我们讨论了使用 C# 验证文档中的数字签名。
用于签名验证的 Java API
本文使用 GroupDocs 的 Java 文档签名 API。 GroupDocs.Signatures for Java 支持以下类型的电子签名:
- 条码签名
- 表单域签名
- 图像签名
- 元数据签名
- 二维码签名
- 邮票签名
- 文字签名
因此,最好通过从 下载部分 下载库或在基于 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 功能的更多信息。