PDF时间戳-验证问题-Vb.net-Java-TSA-iText-Bouncy

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

我有一对pdf签名模块(adbe.pkcs.sha1),用Java和Vb.net编写,使用
Bouncycastle、AbcPdf和iText 2.1.7库。

模块向数字签名添加时间戳令牌,由TSA RFC 3161服务器提供。 我们使用不同的供应商进行测试,我们使用:

到目前为止,它工作正常,但现在,“生产”TSA服务器以Adobe Reader无法处理的方式返回时间戳。那个提供商说他们只是按照RFC3161的说法发送消息。。。他们不想告诉我更多

使用该时间标记,它在Adobe Reader中显示的签名,但带有“签名有时间戳--不可用时间戳”警告。在某些版本中,我们可以看到“显示证书按钮”,但Adobe Reader崩溃

我的问题是:哪种工具可以帮助我发现我们添加到PDF中的时间戳令牌中的错误? 检查pdf代码,或者使用AdobeProfessional,我可以看到TimeStampToken,但我不知道如何检测故障

任何想法都欢迎。谢谢你阅读这篇文章

更新:
如果我对一个序列化文本文件(字节数组)进行签名,并将这个
时间标记
添加到签名中,那么我可以从
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供检查。