为什么这两个itext 7签名和验证文档中的一个对Adobe DC阅读器无效?

Dav*_*d L 1 pdf adobe itext signature itext7

我有两个pdf文档经过认证(使用基于Itext 7的相同机制进行签名和验证),当我使用adobe reader DC检查其有效性时,只有一个有绿色标记.

好的:https: //1drv.ms/b/s !AkF6t4TavwMvgxWaidlUqvPvHH1r

坏的:https: //1drv.ms/b/s!AkF6t4TavwMvgxQCMdGY61S1EvUh

问候

大卫L.

Mic*_*mey 7

这不是Adobe的错误,它是一个功能.(还有一个iText错误)

当Adobe执行加密验证时,它还会执行其他检查以查看签名是否受到攻击.它分析了几个嫌疑人,如果该分析结果为否定,Adobe将向您显示错误消息.这是Adobe误报分析和有效性.但是,有一个解决这些隐藏要求的工作.

首先,iText用于非附加模式来修改文档: 文件属性

不幸的是,在特定情况下,iText 7在非附加模式下使用时会引入规范不允许的更改.问题是iText引入了小节.这是规范允许您执行的操作,但第一次修订明确禁止此操作:

第7.5.4节交叉引用表[...]对于从未进行过增量更新的文件,交叉引用部分应仅包含一个子部分,其对象编号从0开始.[...]

下面你会发现在非附加模式下使用iText后第一个版本的外部参照,每个彩色矩形都是一个新的子部分.为了符合要求,应该只有一个矩形. XREF表

这将在计划于7月底发布的即将发布的7.0.4版本中修复.