0

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

该模块将时间戳标记添加到数字签名中,由TSA RFC 3161 Servers. 我们使用不同的提供者提供,用于测试我们使用:

到目前为止,它工作正常,但现在,一个“生产”TSA 服务器正在“以某种方式”返回一个 Adob​​e Reader 无法处理的时间戳。该提供商说他们只是按照 RFC 3161 的规定发送消息......而且他们不想告诉我更多信息。

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

我的问题是:哪个工具可以帮助我发现我们添加到 PDF 中的时间戳记有什么问题?Inspectig pdf 代码,或者使用 adobe Professional,我能够看到 TimeStampToken,但我没有发现问题的想法。

任何想法都会受到欢迎。感谢您阅读本文。

更新:
如果我签署一个序列化的文本文件(字节数组)并将其添加TimeStampToken到签名中,那么我可以从 中提取 Token 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

也许Abode Reader不明白TSA Server Policy

4

1 回答 1

0

最后,我们认为这是 TSA 服务器问题。我认为它确实没有完成 RFC 3161 规范,至少在 Adob​​e Reader 看来是这样。

于 2013-10-11T12:59:32.177 回答