我使用iText 5.5.3对PDF文档进行签名和加时间戳。它工作得很好。但我最近从Acrobat Pro X切换到了XI,现在我看到了这个新行:
the signature is not LTV enabled and will expire after <date>
我想这会警告我,在此日期之后,签名者的签名将被视为无效,对吧?但是签名属性告诉我:
the signature includes an embedded timestamp : <date/time>
signature was validated as of the secure timestamp time : <same date/time>
现在我有点困惑:由于签名在已知且经过认证的日期被宣布有效,为什么它将来会变得无效?
答案 0 :(得分:17)
4 PAdES-LTV的配置文件
4.1概述
验证电子签名需要数据来验证签名,例如通常由在线服务提供的CA证书,证书撤销列表(CRL)或证书状态信息(OCSP)(在本文件中称为验证)数据)。如果文档被存储并且签名在首次创建后很久就可以验证,特别是在签名证书到期之后,原始验证数据可能不再可用,或者在文档第一次使用时可能存在关于使用什么验证数据的不确定性验证。
此配置文件使用ISO 32000-1 [...]的扩展来携带验证签名所需的验证数据。
基于PDF规范ISO 32000-1的扩展,Adobe在Acrobat / Reader XI中创建了术语 LTV-enabled 。根据Adobe的PDF传播者Leonard Rosenthol的说法:
我们的客户要求我们清楚地识别包含LTV的PDF(而不是包含LTV的PDF)。那就是我们所确定的那个术语在传达这个信息时简单明了。
不幸的是,简单明了的术语并没有真正明确定义。
2013年初,在Acrobat XI发布几个月后,人们开始想知道为什么他们的签名(在Acrobat X中看起来很好而没有任何限制)突然被批评为不支持LTV 而且很快就会到期。当时在iText邮件列表上的Leonard characterized "LTV-enabled" signed PDFs:
启用LTV意味着验证文件所需的所有信息(减去根证书)都包含在。
中
另一名Adobe员工Steven.Madwin,more bluntly put it like this
当你打开文件Acrobat(当我说Acrobat我的意思是Acrobat和读者)时,会进行签名验证。作为验证过程的一部分,它确定是否必须联机下载吊销信息,或者是PDF文件中嵌入的所有吊销信息。此时,它知道它将在签名导航面板中说出什么。如果必须下载数据,那么签名不是LTV启用的,但如果所有撤销附属品都在文件中,则签名是LTV启用的。
因此,一方面我们有一个简单明了的术语 LTV启用,让人觉得这是一个明确的开/关问题,另一方面该术语的含义取决于Adobe Acrobat和Reader中的(封闭式)签名验证算法。
更糟糕的是,这些算法的行为取决于Acrobat / Reader的本地配置!对于任何有效的PDF签名,可以将Adobe Acrobat和Reader配置为将其显示为启用LTV ,只需将即时签署者证书添加到手头签名类型的可信证书中,类似地反过来
考虑到上述情况,我们无法确定您的Acrobat / Reader上显示 LTV-enabled 的PDF是否也会在下一个人身上显示启用LTV &#39 ; s Acrobat / Reader。
话虽如此,您至少可以尽力提供验证者所需的所有撤销信息。这包括
所涉及的所有签名......所有签名都包括签署单个CRL,OCSP响应和时间戳的签名!然后添加时间戳并添加与时间戳相关的证书和吊销信息。
正如Leonard所言,这通常需要使用ISO 32000-1的PAdES第4部分扩展,即文档安全存储(DSS):
当所有抵押品都嵌入签名而不是DSS [...]时,可以启用LTV。在这种情况下,可能没有DSS。但是,这是非常不寻常的,因为CRL和OCSP上的签名不包含Adobe扩展的嵌入式转换信息。然而,这是一个遥远的可能性。
在评论中出现以下问题
但是可以在PDF v1.4中添加DSS
您可以将DSS条目添加到PDF v1.4文档。根据ISO 32000-1,PDF 1.4也是PDF 1.7,DSS是ISO 32000-1的扩展。
是的,但我认为您确实想知道结果是否仍为PDF 1.4 。
对此的回答有点模糊,因为是PDF 1.4 的定义并不是很明确:正如Leonard once put it:
PDF参考文献不是规范性的&#34;在本质上 - 他们不会(通常)做出最终的,明确的陈述 - 只是一般的陈述。
因此,没有什么&#34;规范&#34;在本质上指定 PDF 1.4 的内容。
尽管如此,这并没有使ISO不使用PDF Reference 1.4作为其PDF / A-1规范的规范基础,所以让我们按照PDF Reference的说法进行论证。 ;)
PDF Reference, third edition, Adobe Portable Document Format, Version 1.4在附录E中说明:
PDF制作人或Acrobat插件扩展程序还可以为实现为字典的任何PDF对象添加键,但文件预告片字典除外(参见第3.4.4节“文件预告片”)。
因此,添加DSS所需的现有词典的添加应该没有问题,添加的间接对象也不应该符合PDF Reference的第3节语法。
因此,添加DSS的PDF v1.4仍然可以是PDF 1.4。
显然,软件只是理解 PDF 1.4
关于后一项,我认为,面对PDF 1.4加DSS,例如: Adobe Reader版本5到7警告签名后的更改,Adobe Reader版本8和9甚至认为签名因更改而中断,Adobe Reader X和XI接受添加并愉快地使用它。