【问题标题】:PDFBox doesn't show correct validating PDF digital signature after it was modifiedPDFBox 在修改后不显示正确的验证 PDF 数字签名
【发布时间】:2022-07-16 04:26:55
【问题描述】:

目前我正在开发 PDFBox 库以提供数字签名解决方案。我的问题是检测已修改的 pdf。在 Adob​​e Reader 上可以检测到此修改,但在 PDFBox 上它没有检测到文档已被修改(我使用 CoverWholeDocument 方法检测签名)。 DSS Europe 上的相同案例没有给出正确的验证 (https://ec.europa.eu/cefdigital/DSS/webapp-demo/validation) link 修改后的pdf

有没有人可以帮助解决这个问题,使用 PDFBox 如何检测这个签名是无效的?

【问题讨论】:

  • 我下载了您的示例 PDF,但 Adob​​e Reader 并未提及“修改”,而是提及“此签名中包含的格式或信息存在错误”。 DSS 还将您的签名视为“不完整”。您可能附加了错误的 PDF 吗?
  • PDFBox 示例ShowSignature 也显示“签名验证失败”。所以我看不出你提到的三种方法有什么区别。
  • 对不起,我错误地附加了 pdf 文件。这是真正的文档linkmodified pdf
  • 在您的新文档中,PDFBox 示例ShowSignature 确实显示“签名不覆盖整个文档”,因此 PDFBox 表示在增量更新中添加了更改。 (它不分析是否允许这些更改,PDFBox 不支持开箱即用的该级别的验证。)
  • 好吧,您的问题无法重现 - Adob​​e Acrobat、PDFBox 和 eSig DSS 并不相互矛盾。所以你真的应该澄清你在寻找什么。

标签: pdf pdfbox digital-signature dss


【解决方案1】:

请注意,DSS 5.10 中引入了在签名和最终 PDF 文档修订之间的内部 PDF 对象中发生的修改检测:请参阅documentation。 如果您尝试使用 DSS 的最新主要版本(包括 demo)验证附加文档,则会返回相应的警告消息:

文档包含签名修订后未定义的对象修改!

不幸的是,软件无法确定更改的来源(是否预期更改),因此始终建议在获取此类错误后手动验证文档。

还请注意,对象修改的验证级别可能会强制签名验证失败,而不是记录警告。为此,您可以在validation policy 中使用<UndefinedChanges Level="FAIL"> 元素。

希望对你有所帮助。

最好的问候, 亚历山大。

【讨论】:

    猜你喜欢
    • 2021-06-21
    • 1970-01-01
    • 1970-01-01
    • 2014-10-27
    • 2017-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多