首页 >Java >java教程 >如何在不使签名失效的情况下向经过数字签名的 PDF 添加空白页?

如何在不使签名失效的情况下向经过数字签名的 PDF 添加空白页?

Barbara Streisand
Barbara Streisand原创
2024-12-26 11:37:13324浏览

How Can I Add Blank Pages to a Digitally Signed PDF without Invalidating the Signature?

使用 iText 将空白页添加到数字签名 PDF 并保留签名

使用 iText 在数字签名 PDF 末尾插入空白页仍然是一个共同的要求。但是,出现了一个重大问题:此操作是否会使现有签名无效?

允许和不允许的更改

要了解此操作的影响,有必要参考Adobe 关于数字签名的技术白皮书。 Adobe 在此澄清了允许的更改,这些更改不会使认证或签名文档中的签名失效。

认证文档与签名文档

在认证文档中,更改页面内容始终是禁止,无论允许的行为如何。对于未经认证的文档,也不允许更改页面内容。因此,添加一个改变页面内容的页面是一个挑战。

可能的解决方案

不幸的是,iText 没有提供直接的解决方案来附加页面而不使页面失效签名。但是,可以考虑以下解决方法:

  • 使用页面模板:通过创建预计需要其他页面的页面模板来预先准备文档。然后,在签名时引用此页面模板。使用页面模板属于允许的表单填写类别。
  • 拆分、签名和合并:将签名的 PDF 拆分为两段,对第一段进行签名,然后将空白页插入第二段。最后,将片段重新合并在一起,确保使用增量更新保留签名。

注意:请记住,即使允许的更改(包括页面模板)也必须增量应用以保留签名。否则可能会不可挽回地破坏签名。

以上是如何在不使签名失效的情况下向经过数字签名的 PDF 添加空白页?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn