我目前工作的一个时间戳服务生产的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
任何暗示的高度赞赏!
问候,
托马斯
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的时间戳。 因此,更深入地了解结构:
第一个有趣的领域是serialNumber
在TSTInfo
结构:
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