5

语境到期与多个签名数字签名的PDF的

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

问题

到期问题的出现是因为一些这些PDF会已经有一个或多个数字签名(例如,用于法律目的创建)。我的问题是,如果服务器签署PDF,它是否也将确保以前签名的持续有效性,即使在它们过期后,只要最新的签名有效?

我在理论方面问得更多,虽然我打算实现我用iText描述的东西,所以任何关于如何将它用于我的目的的指针也是受欢迎的。

回答

3

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

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

我不知道iText的很多,但似乎因为我发现这个代码示例的PAdES-LTV支持:How to apply verification according to PAdES-LTV

+0

我只好把这个项目搁置了一些日子,但我渴望试试看。稍后会报告回来。这确实使我提出了一些问题,我希望在经过一些实验后能更好地理解。 –

+0

我找到了[另一个示例](http://bouncy-castle.1462172.n4.nabble.com/How-sign-a-Pdf-with-Pades-standard-td3717892.html),这可能也会进入便利。 –

+0

感谢您澄清这一点,它绝对似乎是正确的方向去。不幸的是,只有最新版本的iText支持PAdES,并且它的许可证是AGPL,我不能在这个项目中使用它。 –