0

我正在尝试验证 pades 签名,但带有警告,例如在 adobe reader 中(有后续更改......)。我可以验证签名的完整性,但是如何检查签名后是否添加了注释?我可以列出 pdf 中的注释,例如:

/注释[8 0 R 27 0 R 41 0 R]

它显示:签名 (8 0 R)、注释 (27 0 R) 和另一个签名 (41 0 R)。

如果我理解正确,第一个数字(8、27、41)的序列表示它们在 pdf 中的放置顺序。或者也许我错了?如果是真的,如何获取注释值及其属性?

4

1 回答 1

1

请查看我的 PDF 中关于数字签名的书。图 2.20 显示了一个 PDF 被多次签名后的样子:

在此处输入图像描述

以您的示例为例,修订版 1 很可能包含以下注释:

/Annots[8 0 R]

鉴于修订版 2 包含:

/Annots[8 0 R 27 0 R]

修订版 3 包含:

/Annots[8 0 R 27 0 R 41 0 R]

回答您的问题:它们在 PDF 中的放置顺序:可能并非总是如此(PDF 是一种相当特殊的格式),但您的猜测是一个安全的假设。

您想检测在哪个签名之前或之后添加了哪些注释。为此,您必须提取每个 PDF 的不同修订版本。

PDF 总是以 结尾,%%EOF每个新签名都在之后添加数据%%EOF。回到上一个版本意味着删除文件末尾的字节,直到你到达下一个%%EOF.

如果您想使用 iText 执行此操作,您会在我的书中找到一些示例。

于 2014-02-20T13:37:22.363 回答