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

KhA*_*aAb 6 java pdf itext digital-signature

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

mkl*_*mkl 13

要将Joeri的答案放入上下文中,请查看Adobe技术白皮书Adobe Acrobat 9数字签名,更改和改进,尤其是"允许和禁止更改"部分.在这里,Adobe 澄清了可以对经过认证或签名的文档进行的允许更改(如Acrobat 9及更高版本所示),而不会使应用于文档的签名无效.

允许对认证文件采取行动

经过认证,不允许更改

  • 允许
    • 不允许更改
  • 不允许
    • 数字签名
    • 提供表单字段值
    • 添加或编辑注释
    • 添加表单字段
    • 更改页面内容

通过表格填写和数字签名认证

  • 允许
    • 提供表单字段值
    • 数字签名
  • 不允许
    • 添加或编辑注释
    • 添加表单字段
    • 更改页面内容

允许通过注释,表单填写和数字签名认证

  • 允许
    • 添加或编辑注释
    • 提供表单字段值
    • 数字签名
  • 不允许
    • 添加表单字段
    • 更改页面内容

允许对已签名但未经证明的文档采取措施

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

如您所见,"更改页面内容"始终位于"不允许"类别中.随着添加页面更改页面内容 - 之后至少有一个白页,以前没有 - 这是不允许的.

(尽管这里没有明确提到,但只要允许表单填写符合PDF标准,很可能也允许实例化页面模板,参见ISO 32000-1第12.8.2.2.2节.但是使用这样的页面模板至少需要在签名之前专门准备文档,而你的问题听起来就像文件已经签署而没有任何这样的准备......)

PS:显然,即使这些允许的更改也需要在追加模式即增量更新中添加.任何其他东西都会破坏签名.对于某些背景,请参阅此答案.