需要验证过期数字签名的解决方案

PSk*_*cik 6 digital-signature pki

我使用数字签名来签署我的发票(我所在国家/地区的数字发票法律要求)。问题是,我的地方当局签发了有效期仅为一年的签名证书(几乎所有证书颁发机构都这样做)。

每年这都会给我留下一堆 PDF,Acrobat Reader 说无法验证签名,因为证书可能已过期或被撤销。(我在 64 位 Linux 上使用第 9 个版本,但在 Windows 上使用 X 版本做同样的事情)。

是否有程序可以告诉我这种无法验证的签名是否对给定的公共证书有效以及何时有效?

(如果没有,在技术上是否可以将其拼凑在一起?)

谢谢,彼得

Aer*_*ght 7

@ThorX89 - 您需要为您的签名加上时间戳。这将解决您的问题。

基本上,您使用有效的(当时)证书来签署 PDF,这是由第三方 CA 加上时间戳的(大多数证书颁发机构允许您使用他们的时间戳服务器 - 请咨询您的提供商),并且时间戳本身由CA 颁发的证书。

在 Adob​​e Acrobat(或 Reader)中,编辑 > 首选项 > 安全性 > 检查要求证书撤销检查在签名验证期间尽可能成功 - 然后在下面的框中选择安全时间(时间戳)选项。

只要您的证书在签名时有效并且在 Adob​​e 中正确设置了时间戳服务器,即使您的证书稍后过期或被撤销,Adobe 也会检查您的证书在安全时间(即时间戳)是否有效由第三方信任提供者认证的证书。

要在 Adob​​e 中设置时间服务器,请转到高级菜单 > 安全设置,然后在左侧您将看到时间戳服务器。输入新时间戳服务器,adobe 将从他们的服务器下载一个证书,该证书将用于验证时间戳。

请记住,您的证书颁发者和时间戳服务器的 CA(如果它们是不同的颁发者)都必须在 Abode Approved Trust List (AATL) 上,以便他们绝对不会在以下情况下向文件查看者呈现签名验证错误他们在 Adob​​e Acrobat 9.0 或更新版本中打开它。如果发行人不在名单上,即使有时间戳,他们也会看到“无法验证签名”。唯一的解决方案是(您的和时间服务器的)证书必须由他们 Adob​​e 软件中的查看者信任。寻找 AATL 列出的提供商可以解决这个问题(对于 Adob​​e 产品)。


all*_*tic 1

您应该处理此问题的方法是在证书到期之前尽早续订证书,以便客户有足够的时间使用仍然有效的证书查看文档。

尝试将过期的证书与某种“以前有效”的证书进行匹配是无意义的。无论如何,过期的证书作为安全功能毫无价值——它并不比创建自签名证书更好。

签名验证和信任链的重点是证书的所有参数都必须正确,以便程序将其识别为有效且真实的。伪造看似真实的过期证书与创建由不受信任的 CA 链签名的完全无意义的证书一样容易。

听起来您想要做的是以某种方式让用户(或您自己)放心,某些已过期的数字证书确实是您的,即使它已经过期。

不要那样做。

如果您使用数字证书作为安全/完整性/真实性/隐私工具,那么除了当前、有效、可信的证书之外的任何证书对于所有提到的功能都是毫无价值的。此类比较的结果在取证分析或其他领域可能很有趣,但如果您和您的客户是证书的“最终用户”并使用它来提供其提供的保护,则您(和您的客户)需要对待所有无效证书警告相当于有人试图向您提供伪造的文件。