【问题标题】:Expiration of a digitally signed PDF with multiple signatures具有多个签名的数字签名 PDF 过期
【发布时间】:2011-11-30 19:25:44
【问题描述】:

上下文

我的总体目标是提供一组 PDF,以便用户可以确定文档的来源(即,它们来自预期的来源)。我正在考虑通过在服务器上对 PDF 进行数字签名来做到这一点。这些签名不会有过期的风险,因为服务器可以在证书更新时重新发布新的签名 PDF。使用 SSL 来提供文件是不够的,因为文件可以传递给不想/不需要访问服务器的第三方。

问题

出现过期问题是因为其中一些 PDF 已经具有一个或多个数字签名(例如,为合法目的而创建的)。我的问题是,如果服务器对 PDF 进行签名,它是否也会确保以前的签名继续有效,即使在它们过期后,只要最新的签名有效?

尽管我计划使用 iText 来实现我所描述的内容,但我在理论上提出了更多要求,因此也欢迎任何关于如何将其用于我的目的的指示。

【问题讨论】:

    标签: pdf pdf-generation itext digital-signature digital-certificate


    【解决方案1】:

    不,在 PDF 中,所有签名都应独立验证。如果您在 Adbobe Reader 中打开具有多个签名的 PDF,则所有签名都经过验证,如果其中一个签名验证失败,您将收到一条警告消息。

    如果您想防止签名验证问题(例如由于签名证书过期而导致验证失败),您应该查看PAdES 标准(PDF 高级电子签名)第 4 部分(PAdES-LTV 配置文件 - PAdES Long期限验证)。标准的这一部分涉及维护跨时间的验证证明,以便能够在将来重新验证签名。

    我不太了解 iText,但似乎支持 PAdES-LTV,因为我找到了此代码示例:How to apply verification according to PAdES-LTV

    【讨论】:

    • 我不得不将这个项目搁置几天,但我很想尝试一下。稍后将报告。它确实让我提出了一些我希望在经过一些实验后能更好地理解的问题。
    • 我找到了another sample,它也可能会派上用场。
    • 感谢您解决这个问题,这似乎是正确的方向。不幸的是,只有最新版本的 iText 支持 PAdES,而且它的许可证是 AGPL,我将无法在这个项目中使用。
    猜你喜欢
    • 2017-11-26
    • 2019-06-14
    • 1970-01-01
    • 2016-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多