PDF中的数字签名使您可以在与利益相关者共享文档之前保护其安全。可以轻松地检测和验证数字签名的PDF文档的内容的伪造。为了以编程方式对PDF文档进行数字签名,我将向您展示如何使用Java在PDF中添加和验证数字签名。我们将介绍以下与PDF中的数字签名有关的方案。
Java库对PDF进行数字签名
为了在PDF中添加和验证数字签名,我们将使用Aspose.PDF for Java。与其他PDF操作功能一起,Aspose.PDF for Java允许您无缝添加和验证PDF中的数字签名。您可以下载API的JAR或将其安装在基于Maven的应用程序中。
资料库
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
相依性
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>20.6</version>
</dependency>
使用Java将数字签名添加到PDF
以下是使用Aspose.PDF for Java将数字签名添加到PDF文档的步骤。
- 创建Document 类的实例, 并使用PDF文档的路径对其进行初始化。
- 初始化PdfFileSignature 类,并将Document对象传递给它 。
- 创建PKCS7类的实例, 并使用证书的路径和密码对其进行初始化。
- 为MDP签名类型初始化 DocMDPSignature类。
- 定义一个 矩形 以将签名放置在文档页面上。
- 使用PdfFileSignature.Certify() 方法对PDF文档进行数字签名 。
- 使用PdfFileSignature.Save() 方法保存签名的PDF 。
以下代码示例显示了如何使用Java对PDF进行数字签名。
使用Java使用时间戳服务器对PDF进行数字签名
Aspose.PDF for Java还允许您使用TimeStamp服务器将数字签名添加到PDF。该 TimestampSettings 类是用于这一目的。以下代码示例显示了如何使用Java使用TimeStamp服务器将数字签名添加到PDF。
使用Java验证PDF中的数字签名
收到经过数字签名的PDF时,您可以非常轻松地验证其签名。以下是验证经过数字签名的PDF的步骤。
- 创建PdfFileSignature 类的实例。
- 使用PdfFileSigntature.bindPdf(string)方法绑定PDF文件。
- 使用PdfFileSignature.verifySigned() 方法验证签名的有效性 。
下面的代码示例演示如何使用Java验证经过数字签名的PDF文档。
结论
在本文中,您学习了如何使用Java将数字签名添加到PDF。此外,我们已经了解了如何在几个步骤中验证经过数字签名的PDF文件。您可以使用文档以及托管在GitHub上的源代码示例来了解有关Java PDF API的更多信息。