我正在尝试了解是否以及如何使用嵌入式时间戳验证PAdES签名。 此嵌入时间戳是从时间戳授权机构(TSA)获得的。
如果签名包含crl文件或ocsp响应,我们通常应首先验证签名的证书链是否在此时间戳对应的日期未过期或撤销。
由于TSA的时间戳也已签名,我试图弄清楚是否还要验证此时间戳的证书链以及如何验证它?
使用Bouncy Castle API,通过以下代码验证时间戳非常容易
TimeStampToken.validate((SignerInformationVerifier paramSignerInformationVerifier))
但是,此方法不会验证证书链是否未过期或已撤销。 此外,由于嵌入式时间戳不包含任何crl文件或ocsp响应,因此无法在签名中嵌入时间戳的日期验证证书链。
那么,如果我们无法在与嵌入时间戳对应的日期完全验证TSA的证书链,我们怎么可能验证PAdES签名?