繁体   English   中英

XFA动态表单-iText填充解锁字段使签名无效

[英]XFA dynamic form - iText populate unlocked field invalidate signature

我们正在使用通过Adobe生命周期设计器9生成的PDF动态表单。表单数据存储在XFA中,由iText设置,也由Adobe Reader中的用户交互设置(因此,启用阅读器的PDF表单和签名仅锁定了某些字段-FieldMDP)。

这是我们需要使用的方案,在此链接中,您可以找到PDF的屏幕截图( https://onedrive.live.com/?cid=195541F2D86BFC76&id=195541f2d86bfc76%21107&v=3&authkey=%21AGtMASJ3wPHv1hU ):

  1. iText会以PDF格式填写3个字段(在我们的示例字段中,标记为“被S1锁定...”)
  2. 用户更改前一个字段(标记为“由S1锁定”)中的值,并使用批准签名(通过字段S1)对文档进行签名,该签名将锁定前三个字段(标记为“由S1锁定...”)
  3. itext填写另一个未被S1签名锁定的字段(标记为“由S2 RO锁定”)
  4. 用户显示PDF并验证签名S1后,Adobe Reader显示信息表明字段S1中的签名无效,因为尽管iText并未更改此字段的值,但字段“ Locked by S1”已更改。

这是我在类似场景中玩游戏时的观察结果:

  • 如果用户在第2步中未对iText填充的字段(带有“ Val3”)进行任何更改,只是在字段S1中签名,则签名保持有效(在下面的链接中是文件:PDF_u1s1u2_validSig)
  • 我们正在使用iText 5.4.1,但是我们也尝试了iText 5.5.5,但结果相同
  • 我们需要使用Adobe Reader11。但是,当我们在Adobe Reader 9中使用无效签名验证PDF时,可以看到签名是有效的。 我们尝试过的所有更高版本的Adobe Reader 9.5、10、11都将签名显示为无效。
  • 如果我们检查使Adobe Acrobat中的签名无效的字段值,并且将签名的修订版与具有无效签名的PDF进行比较,则此字段未标记为已更改(两个版本中的值都相同),因此我们不明白为什么它被标记为已更改。

无效和有效的PDF以及您可以在URL中找到的PDF表单的屏幕截图: https : //onedrive.live.com/redir?resid=195541f2d86bfc76!108&authkey=!AGtMASJ3wPHv1hU&ithint=folder%2cpng

感谢您提供任何可以阐明为什么第一个签名无效的输入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM