【发布时间】:2025-12-06 05:10:01
【问题描述】:
我正在尝试生成启用 LTV 的 pdf。我生成了一个包含所有必需属性的 pkcs7 对象,包括 signerInfo 对象。生成的签名有效,但未启用 LTV。根据 PDF 参考手册,我需要包含验证信息(CRLS 或 OCSP ...),并且基于 rfc3852,此内容进入 signedAttributes 对象,并且它必须包含内容类型属性和消息摘要属性。我的问题是如何计算消息摘要值,是否需要在 pdf 内容旁边签名?
注意:包含 CRL 的 adbe-revocationInfoArchival 对象似乎是正确的,因为 acrobat 直接从文件中读取吊销信息。我似乎遇到的唯一问题是 signedAttrs 对象中包含的消息摘要和/或未正确计算签名值。 RFC 不太清楚该消息摘要应该是什么,或者它是否应该包含在将使用签名者私钥签名的摘要中。
【问题讨论】:
-
“我的问题是如何计算消息摘要值” - pdf 的有符号字节范围的哈希值 - “是否有必要在 pdf 内容旁边签名?” - 这是什么意思?您可以通过将其散列作为消息摘要值来签署 pdf 内容。 “我似乎遇到的唯一问题” - 实际上你的问题似乎表明可能还有其他错误。
-
不是pdf文档的消息摘要,我说的是签名属性字段中的消息摘要。我只是签署 pdf 没有问题,我想做的是在 PKCS7 结构中添加 CRL,这样签名就可以启用 LTV
-
“不是 pdf 文档的消息摘要,我说的是签名属性字段中的消息摘要。” - 是的,你说的是消息-digest 签名属性。该属性的值是 PDF 的带符号字节范围的哈希。
-
所以这些属性没有签名? rfc 声明它们是,因此名称为“signedAttr”。我尝试使用 pdf 摘要(与正确签名和验证的相同),当我打开 pdf 时,没有 pdf 阅读器可以验证签名,就像新添加的属性更改了应该签名的完整消息摘要一样. Here 是另一个比 rfc 更具可读性的来源
-
“那么这些属性没有签名?” - 为什么这些属性应该没有签名?
标签: pdf cryptography digital-signature pkcs#7