Certificate 检查特定时间的证书有效性

Certificate 检查特定时间的证书有效性,certificate,ocsp,Certificate,Ocsp,我现在正在使用一个具有PDF签名选项的系统 现在,在创建一个互补的Android应用程序时,我遇到了一个难题:如何检查证书的有效性? 问题是,我对签名时证书是否有效感兴趣。现在我知道Adobe有这种功能,但我想知道如何自己实现这种功能 我已经成功地对照OCSP检查了证书的状态,但它唯一能给我的是证书的状态,无论它是否已被撤销/暂停,以及日期(这是不正确的,仍然让我困惑)。我还研究了CRL,但似乎每个证书只有一条记录,这意味着,它无法告诉我证书在特定时间点是否有效 例如: Certificate

我现在正在使用一个具有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如何知道,我如何找到相同的信息?也许有一些操作系统程序,我可以看看谁的源代码,来找到答案?

这通常是通过在数字签名中嵌入时间戳来完成的,数字签名本身通常由不同但受信任的CA签名,就像在中使用的那样。将此时间戳与证书的有效期进行比较,以确定证书在签名时是否有效


有关这方面的更多讨论,请参阅或。

是的,我了解时间戳的相关内容,但是,当证书在过去某个时间被挂起时,它对可能的用例有何帮助?一名雇员正在接受一段时间的投资,在这段时间内,他不能使用公司颁发的证书签字。如何检查此特定用例?因为证书在之后仍然有效,所以时间戳也是有效的,但是签名的文档不应该有效。