当前位置: 首页 > 知识库问答 >
问题:

如何使用java在数字签名的pdf中添加空白页?

洪和平
2023-03-14

我想使用itext库在数字PDF末尾插入空白页面。我的困惑是添加页面会使现有签名无效?谢谢。

共有2个答案

夏长卿
2023-03-14

是的,会的。签名基于已签名的内容,因此如果更改内容,签名将不再有效。

如果您是签名者,您可以再次签署文件

你添加的页面是否为空白无关紧要。

白博易
2023-03-14

为了将Joeri的答案放在上下文中,请看一看Adobe技术白皮书Adobe Acrobat 9数字签名、更改和改进,尤其是其中的“允许和不允许的更改”部分在这里,Adobe澄清了在不使应用于文档的签名失效的情况下,可以对认证或签名文档进行的允许更改(如Acrobat 9及以上版本所示)。

  • 不允许更改
  • 数字签名
  • 提供表单字段值
  • 添加或编辑注释
  • 添加表单字段
  • 更改页面内容
  • 提供表单字段值
  • 数字签名
  • 添加或编辑注释
  • 添加表单字段
  • 正在更改页面内容
  • 添加或编辑注释
  • 提供表单字段值
  • 数字签名
  • 添加表单字段
  • 正在更改页面内容
  • 添加签名字段(请参阅对已签名但未经认证的文档添加签名字段的限制)
  • 添加签名字段以外的表单字段

如您所见,“更改页面内容”总是在“不允许”类别中。由于添加页面会更改页面内容——之后至少会有一个白页,而以前什么都没有——这是不允许的。

(即使这里没有明确提到,只要允许填写表单,也很可能允许实例化页面模板,因为这将符合PDF标准,参见ISO 32000-1第12.8.2.2.2节。但是使用这样的页面模板至少需要在签名之前特别准备文档,您的问题听起来像是文档已经在没有任何此类准备的情况下签署...)

PS:显然,即使是这些允许的更改也需要以追加模式添加,即增量更新。其他任何东西都会永久破坏签名。对于一些背景,请参见此答案。

 类似资料:
  • 我想问一个问题,如果我想在多页pdf中添加数字签名,每页都有相同的印章,我是否可以在第一页只添加一次数字签名,然后其他页面只需要引用第一个印章的外观。因为使用这种方法可以减少添加邮票的时间。 我使用了mkl给出的代码,但我有一个问题。我用其他代码替换了以下代码。 原件: 现在: 原始代码在加盖印花时有效,但修改后的代码将使印花无效。我使用Adobe Acrobat Pro DC打开已签名的文档。此

  • 问题内容: 我有普通的PDF文件,我想使用,在PDF 的末尾插入空白页,而不会打扰PDF内容。 问题答案: Dinup Kandel的答案是错误的,因为它是关于从头开始创建文档的。 NK123的答案 非常错误, 因为它使用/ 连接文件。该示例假定原始文档中的所有页面的尺寸均为A4。并非总是如此。如记录所示,这也将丢弃所有交互性。 唯一的好答案是这样的: 如果引用的文档有10页,则上面的代码将使用与

  • 出身背景 我使用iTextSharp已经有一段时间了。我已经创建了一个带有两个可签名的PdfFormFields的pdf文档。如果我打开pdf文档,我可以手动对每个字段进行手动签名。我希望通过iTextSharp完成这件事。 我目前正在从X509Store检索证书。直到现在,我都能弄明白。 问题 有人能告诉我如何使用X509Certificate2签署一个已经存在的签名字段吗。 工具书类 以下参考

  • 对于IText5,添加数字签名相当容易。其留档的链接是:http://developers.itextpdf.com/examples/security/digital-signatures-white-paper/digital-signatures-chapter-2 有人可以在ITEXT 7中共享文档链接吗?我试过各种方法,但都没有用。在网上找不到任何链接。我可以取消签名并检查签名,但不能添

  • 我正在尝试使用pdfbox库签署pdf。我现在卡住了,真的需要帮助。 这是我的代码: 然后我正在保存我的pdf,但是:1)我注意到sign method从来没有被调用2)我应该在哪里附加CertyFicate?在sign method中? 以下是我保存PDF的方法: