我目前正在使用具有 PDF 签名选项的系统。
现在,在创建一个互补的 Android 应用程序时,我遇到了一个难题:如何检查证书的有效性?
问题是,我对证书在签名时是否有效感兴趣。现在我知道,Adobe 有这种能力,但我想知道如何自己实现这样的东西。
我已经成功地对照 OCSP 检查了证书的状态,但它唯一给我的证书状态是它是否已被撤销/暂停以及日期(这是不正确的,仍然让我感到困惑)。我还查看了 CRL,但似乎每个证书只有一个记录,这意味着它无法告诉我证书在特定时间点是否有效。
例子:
Certificate 01 4D 44 5B - issued on 20.08.2012 - suspended on 21.08.2012 - reactivated on 22.08.2012
PDF document1 - signed on 20.08.2012
PDF document2 - signed on 21.08.2012
现在,如果我们在 Adobe Reader 中检查文档的有效性,PDF1 将显示 valid 而 PDF2 将显示为 invalid。
Adobe 是如何知道的,我如何找到相同的信息?也许有一些操作系统程序,我可以看看谁的来源,找出这个?