首页 > 解决方案 > 使用 IText 库进行 PDF 签名

问题描述

我可以使用 iText 5 对文档进行签名,但是我想在生成哈希后添加可见签名中的文本,任何人都可以帮我解决这个问题。如果我在哈希生成之前添加 layer2text 它可以工作文件。

标签: javaitextdigital-signature

解决方案


这是不可能的。

一个集成的 pdf 签名,至少是一个可互操作的签名,涵盖了它的整个版本,除了包含 CMS 签名容器(或一个子过滤器的 PKCS#1 签名)的十六进制编码字节字符串。有关详细信息,请参阅此答案

因此,它特别涵盖了可见签名中的文本因此该文本是散列数据的一部分,并且在散列生成后无法更改。

一个可能的解决方法

pdf 标准提供了一种机制,可以在不破坏散列的情况下更改签名 pdf 的内容:增量更新。因此,如果签名允许足够的更改,您可以在对签名 pdf 的增量更新中更改签名外观。有关详细信息,请参阅此答案


推荐阅读