时间戳验证在Adobe Reader / Acrobat中失败:文件被更改或损坏(Timestamp

2019-09-27 14:33发布

我目前工作的一个时间戳服务生产的PAdES-4兼容的时间戳。 这是工作的罚款从瑞士电信/ Swisssign / QUOVADIS服务器接收的时间戳。 但每当我用我自己的时间戳机构或Signtrust收到时间戳,则Adobe Reader(版本11.0.06)一直拒绝我的时间戳与德国评论:“库门wurde NACH DEM Unterzeichnenverändert奥德beschädigt”,这意味着“该文件被更改或签名创建后受损”。 添加所需的证书信任列表(所以,该协议签署者证书验证成功)对这种行为没有任何影响。

由于上面提到的旅游业附属帐户收到的时间戳正确验证,我认为我的基本概要计算就好了。

由于我的外部(非的PAdES)基于CMS-时间戳与替代签名的应用程序正确地验证,我承担消化的编码以及时间戳结构就好了。

用我自己的TSA,我用同样的摘要算法和结构Swisssign,但ADOBE READER是不会接受它。 由于是由Adobe阅读器没有给出进一步的细节错误,我有点失去。

:有没有人有一个想法,什么是错的文档中的时间戳下找到https://dl.dropboxusercontent.com/u/40847151/Timestamping/TS%20-%20selfsigned.pdf

您卡恩在这里找到工作Swisssign测试文件: https://dl.dropboxusercontent.com/u/40847151/Timestamping/TS%20-%20Swisssign.pdf

任何暗示的高度赞赏!

问候,

托马斯

Answer 1:

TS - selfsigned.pdf

您TSA证书不符合RFC 3161。

我不知道这是否就是为什么Adobe软件拒绝您的时间戳的原因,但它至少是一个原因, 每一个RFC 3161时间戳验证软件应该拒绝它。

RFC 3161要求

2.3。 该协议的识别

该TSA必须签署每个时戳消息专门为此目的保留的密钥。 TSA的可能有不同的私钥,例如,以适应不同的政策,不同的算法,不同的私人密钥大小或提高性能。 如[RFC2459]节4.2.1.13与具有值KeyPurposeID定义的相应证书必须包含扩展密钥用法字段扩展的一个实例:

 id-kp-timeStamping. This extension MUST be critical. 

下面的对象标识符标识具有值id-KP-时间戳的KeyPurposeID。

 id-kp-timeStamping OBJECT IDENTIFIER ::= {iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) kp (3) timestamping (8)} 

在证书的情况下,扩展的密钥使用扩展并不重要 ,相反样品SwissSign时间戳的TSA证书,标志着扩展密钥用法扩展是关键。

这已经说了,在BNetzA已知不希望在发布的证书附加的关键扩展。 如果你希望你的时间戳服务最终根据德国签名法(SIGG)的认证,准备一些有趣的...

TS - EKU critical.pdf

固定扩展密钥使用扩展之后,Adobe公司仍然拒绝OP的时间戳。 因此,更深入地了解结构:

第一个有趣的领域是serialNumberTSTInfo结构:

133 02    4:                 INTEGER -171182259

它是否定的。 虽然没有实际的标准(只要求它是唯一的)禁止,有些软件可能需要它是非负的,就像证书的序列号。

下一个是所述contentType在属性SignerInfo结构:

1290 06    9:               OBJECT IDENTIFIER
            :                 contentType (1 2 840 113549 1 9 3)
            :                 (PKCS #9 (1 2 840 113549 1 9))
1301 31   11:               SET {
1303 06    9:                 OBJECT IDENTIFIER data (1 2 840 113549 1 7 1)
            :                   (PKCS #7)
            :                 }
            :               }

该Swisssign时间戳声明内容类型作为TSTInfo结构:

3540 06    9:               OBJECT IDENTIFIER
            :                 contentType (1 2 840 113549 1 9 3)
            :                 (PKCS #9 (1 2 840 113549 1 9))
3551 31   13:               SET {
3553 06   11:                 OBJECT IDENTIFIER
            :                   id-ct-TSTInfo (1 2 840 113549 1 9 16 1 4)
            :                   (S/MIME Content Types (1 2 840 113549 1 9 16 1))
            :                 }
            :               }

此外您的CMS结构包含SigningCertificateV2属性,但没有SigningCertificate属性。 Swisssign使用SigningCertificate属性。

RFC 3161需要SigningCertificate属性:

该TSA证书的证书标识符(ESSCertID证书)必须被包括作为SigningCertificate属性内的个SignerInfo属性。

RFC 5816更新此为V2的形式,但ETSI TS 102 778-4只考虑RFC 3161。



文章来源: Timestamp Validation in Adobe Reader / Acrobat fails: Document was changed or damaged