在PDF文件末尾添加一些额外字节后签名仍然有效

问题描述 投票:0回答:1

我想知道是否有人知道为什么 Adobe Acrobat Reader 允许在签名的 PDF 末尾添加 3 个额外字节而不说签名无效,以及是否有办法防止这种情况?

pdf digital-signature acrobat pkcs#7 pades
1个回答
0
投票

首先,您操作的文件不再是有效的 pdf,根据 PDF 规范,PDF 的最后一行必须包含“%%EOF”,仅此而已。因此,任何严格的验证者都必须拒绝您的文件。

不幸的是,Adobe 多年来一直宣称他们接受 pdf 格式的文件,其中最后的“%%EOF”仅出现在最后千字节的某个位置,而不是实际的末尾。因此,Adobe Acrobat(以及许多其他追随其领导的 pdf 查看器)将接受您的文件,尽管它有错误。

这当然意味着他们必须在签名验证期间以某种方式处理这些额外的字节。由于根据规范这些文件是无效的,他们必须在这里提出自己的标准,该规范不适用。

你发现了

[添加]最多 3-4 个额外字符是可以的,但如果我添加更多字符,Adobe 就会意识到您已经修改了文件。

因此,显然 Adobe 决定不能使用最多 4 个额外字符来操作 pdf,而更多字符则可以。但请注意,这只是 Adobe 内部的决定,不具有普遍性。

© www.soinside.com 2019 - 2024. All rights reserved.