PDF时间戳-验证问题-Vb.net-Java-TSA-iText-Bouncy
我有一对pdf签名模块(adbe.pkcs.sha1),用Java和Vb.net编写,使用PDF时间戳-验证问题-Vb.net-Java-TSA-iText-Bouncy,pdf,timestamp,signature,Pdf,Timestamp,Signature,我有一对pdf签名模块(adbe.pkcs.sha1),用Java和Vb.net编写,使用Bouncycastle、AbcPdf和iText 2.1.7库。 模块向数字签名添加时间戳令牌,由TSA RFC 3161服务器提供。 我们使用不同的供应商进行测试,我们使用: 到目前为止,它工作正常,但现在,“生产”TSA服务器以Adobe Reader无法处理的方式返回时间戳。那个提供商说他们只是按照RFC3161的说法发送消息。。。他们不想告诉我更多 使用该时间标记,它在Adobe Read
Bouncycastle、AbcPdf和iText 2.1.7库。
模块向数字签名添加时间戳令牌,由TSA RFC 3161服务器提供。
我们使用不同的供应商进行测试,我们使用:
如果我对一个序列化文本文件(字节数组)进行签名,并将这个
时间标记
添加到签名中,那么我可以从CmsSignedData
中提取该标记,它似乎是正确的
... p_oContenido as CmsSignedData
Dim oAlmacenFirmantes As SignerInformationStore = p_oContenido.GetSignerInfos()
' extracción de certificados del objeto firmado
Dim aCertificadosDetectados As IX509Store = p_oContenido.GetCertificates("Collection")
Dim aFirmantes As ICollection = oAlmacenFirmantes.GetSigners()
Dim oSello As New TimeStampToken(p_oContenido)
oFec = oSello.TimeStampInfo.GenTime ' it's ok
也许ABOD读者不理解TSA服务器策略?最后,我们认为这是TSA服务器问题。
我认为,至少在Adobe Reader看来,它并没有实现RFC 3161规范。只需注意:这是开源的。使用源代码作为帮助。或者使用经验证的支持解决方案,这些解决方案是开箱即用的。请提供样本PDF供检查。