证书过期后的PDF数字签名验证
Posted
技术标签:
【中文标题】证书过期后的PDF数字签名验证【英文标题】:PDF Digital signature verification after certificate expiration 【发布时间】:2012-05-23 09:51:13 【问题描述】:我是数字签名领域的新手,我正在努力研究它。我找到了一篇很好的文章here 和一篇很好的教程here。但是我对数字签名有一些疑问。我不确定这些是什么愚蠢的问题。但我没有其他最好的资料来澄清我的疑问:)
1) 假设用户使用他的私钥对 pdf 进行数字签名。几年后,假设他的证书到期。那么其他人可以验证pdf吗?
2) 假设有一个组织,他们以 pdf 格式存储文件,并由一名官员进行数字签名。假设该官员搬到了另一个组织。那么上一个组织的其他官员是否能够验证签名?
3) 两个或更多人可以使用自己的证书签署 pdf 吗?
4) 我也想创建一个网络应用程序。我正在考虑使用 iTextSharp。那么我应该如何获取服务器的证书和密码呢?如果可能的话,有人可以分享一个好的教程的链接吗?
提前致谢。
【问题讨论】:
【参考方案1】:1) 除非签名带有时间戳,否则验证将抱怨证书/签名过期。为了解决这个缺点,提供了PAdES 标准。
2) 是的,在大多数情况下,签名是自包含的(假设受信任的根证书仍然可用)。
3) PDF 格式不支持在原始文档上签名两个独立的签名,否则可以,因此两个人可以在文档上签名(即第一人在原件上签名,第二人在 document_with_fist_signature 上签名)。
4) 没有办法也没有意义(私钥必须保持私密并保存在客户端上)。阅读my response to similar question here。顺便说一句,我们的解决方案将适合您。
【讨论】:
【参考方案2】:那我应该如何获取服务器的证书和密码?
你不应该这样做。如果您想让某人签署文件,那么您应该让他们下载current
文件,让他们打开文件并验证并签署文件,然后上传updated
副本。
正如 Eugene 指出的那样,多人签署一份文件是可能的。这是如何发生的,第一个人填写一半的信息保存并在文档上签名。然后第二个人能够验证信息是由第一个人填写的(由他们的证书签名)并填写文件的后半部分。他们无法更改由第一人签名的任何信息(否则它将变为未签名/未经验证),但理论上可以将其发回,要求第一人更改信息。
我已经看到使用表单格式的 pdf 文档完成此操作。
【讨论】:
以上是关于证书过期后的PDF数字签名验证的主要内容,如果未能解决你的问题,请参考以下文章