添加注释后,PDF 中的数字签名未验证为匹配

Digital Signature in PDF doesn't verify as matching after adding annotations

我正在浏览官方PDF spec. I came across a digitally signed PDF here。当我分析它的目录字典时,我看到了这个:

数字签名采用签名域的形式,指定签名所适用的内容的字节范围。在其上添加的任何内容,如注释、注释等应作为增量更新进行,因此原始内容的有效性应继续保持真实(不包括直接编辑内容,如更改 Sample 字到 Sample2)。但是,当我在 Nitro 中打开文件,添加一些突出显示或注释,保存并在 Acrobat 中打开时,它现在说签名无效。这让我想到了我的问题:

  1. 为什么 Acrobat 显示它无效?签名域并没有强制禁止添加增量更新,具体为什么无效?

  2. 为什么 Acrobat 不允许添加注释或高亮显示?例如,Nitro 允许这样做。没有 Perms 字典会指定 DocMDP 级别限制,那么 Adob​​e 解释为文档级别锁定的到底是什么?

正如在 to your on this topic, the file you call "the official PDF spec 中已经解释的那样, 是除此之外的一切。官方 PDF 规范是 ISO 32000-1(自 2008 年起)和 ISO 32000-2(2017 年更新)。

该答案还指出了 P 条目在 FieldMDP 转换字典中的来源您的截图显示:

它来自同一签名词典的 Lock 词典,并在 Adobe supplement to ISO 32000, extension level 3 中定义(不幸的是,它来自 Adob​​e,确实引用了 PDF Reference 1.7 而不是ISO 32000-1):

P number *(Optional; Extension Level 3) The access permissions granted for this document. Valid values follow:

1, no changes to the document are permitted; any change to the document invalidates the signature.

ISO 32000-1 的这一扩展已添加到标准 ISO 32000-2。

因此,

  1. Why is Acrobat showing it as invalid? The signature field does not enforce prevention from adding incremental updates, why exactly is it invalid?

因为它确实强制阻止任何更改,请参见上文。

  1. Why is Acrobat not allowing addition of notes or highlights? Nitro allows it, for example. There is no Perms dictionary which would specify a DocMDP level restriction, so what exactly it is that Adobe is interpreting as a document level lock?

因为 Nitro(至少是您测试的版本)可能只支持 ISO 32000-1 而不是 Adob​​e 的扩展 3,更不用说 ISO 32000-2 了。