我正在尝试将叠加(我认为是不允许的更改)添加到已签名的PDF(可见的分离签名),然后再次签署此PDF。这导致第一个签名无效。但是,第二个签名仍然有效。
第二次签名后是否可以让两个签名都有效?
我正在使用PDFBOX v2.0.8
附加样本pdf here
谢谢, ABHI
答案 0 :(得分:1)
事实证明,主要问题不在于是否允许在第一次签名后应用更改,问题是这些更改是使用正常保存添加到文件中的。
这种普通保存可以完全改变PDF文件存储在PDF文件中的顺序。因此,这样的正常保存会使第一个签名无法修复,因为其所谓的带符号字节范围已经改变,签名值也不再位于这些范围之间的间隙中。
因此,无论您对签名文档进行哪些更改,请确保将其存储为增量更新!
尽管如此,很难将PDFBox增量更新机制用于除设计之外的任何其他内容,即除了添加其他签名之外的其他任何内容。您必须将您更改的低级对象(包括文档目录中的对象链)标记为它们,因此您必须特别了解您的更改在非常低级别上的实现方式。此外,这种机制通常要求您将实际更改的对象保存到“目录链”标准。