小编wol*_*lvz的帖子

验证 PDF 文档中的数字签名

我正在尝试验证 PDF 的数字签名。

我知道,当 PDF 被签名时,会定义一个字节范围,嵌入证书,并且根据我的阅读,签名的消息摘要和时间戳也存储在 PDF 中。

我已经可以提取证书并验证它们。现在我正在尝试验证 pdf 的完整性,但我的问题是我不知道签名的消息摘要位于何处。

在这个来自 Adob​​e 的签名 pdf 示例(http://blogs.adobe.com/security/SampleSignedPDFDocument.pdf)中,我可以清楚地识别摘要,因为它位于嵌入证书的下方:/DigestMethod/MD5/DigestValue/(第 1520 行) )。

但那个 PDF 样本似乎是 2009 年的,我怀疑消息摘要现在以不同的方式存储,因为我用 Adob​​e Reader 和 iText 签署了 PDF,但我找不到像以前那样的任何消息摘要字段一。有人可以判断摘要现在是否以不同的方式存储吗?他们位于哪里?

不管怎样,现在我正在使用 Adob​​e 的示例文档,并尝试验证其完整性。我正在根据指定的字节范围对文档的字节进行签名,并使用 MD5 算法对它们进行摘要,但是我得到的摘要值与消息摘要字段中的摘要值不匹配...我做错了什么吗?摘要是否也使用签名者的私钥进行签名?

我很感激任何帮助。

pdf adobe cryptography itext digital-signature

4
推荐指数
1
解决办法
4904
查看次数

标签 统计

adobe ×1

cryptography ×1

digital-signature ×1

itext ×1

pdf ×1