证书过期后的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数字签名验证的主要内容,如果未能解决你的问题,请参考以下文章

如何验证PDF文档中的数字签名

Kubeadm集群证书过期后的处理

windows把加密后的证书存放在啥位置啊 ?

Kubeadm集群证书过期后的处理

Kubeadm集群证书过期后的处理

Tomcat 服务器和 HTTP 客户端接受过期的自签名证书