pdf - 具有多个签名的数字签名 PDF 的到期时间

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

语境

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

问题

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

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

最佳答案

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

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

我不太了解 iText,但似乎支持 PAdES-LTV,因为我发现了这个代码示例:How to apply verification according to PAdES-LTV

关于pdf - 具有多个签名的数字签名 PDF 的到期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8331700/

相关文章:

c# - 使用 iTextSharp 或类似工具生成和设计 PDF

pdf-generation - PDF 文件中的元数据

java - 尝试使用 itext :Exception in thread "main" java. lang.NoClassDefFoundError 签署 pdf 时出错:org/bouncycaSTLe/cert/X509CertificateHolder

pdf - 使用 PostScript 创建 PDF 超链接

parsing - haskell - 解析/读取 .pdf 文件的内容

ruby-on-rails - 每页的页脚在 rails 3.2 中不起作用( Prawn PDF)

java - 使用 Java 和 iText 创建百分比栏

java - iText 验证 java 中 pdf 的完整性

objective-c - 在 iOS 应用程序中显示 .pdf,无需从互联网下载

pdf - 如何在经典 ASP 中创建 PDF 文件?