ETSI.CAdES.detached和adbe.pkcs7.detachedPDF签名之间的差异



我有一个正确、有效的adbe.pkcs7.分离PDF签名的LTV实现,该签名是根据ISO320002008-1RFC5652指南制作的。现在,我还试图允许ETSI.CAdES.destriated类型的签名,这些签名在ETSI EN 319 142-1中进行了描述。到目前为止,我所了解的主要区别是/SubFilter值、DSS结构、ESS属性和文档时间戳。是否所有4项变更都是符合标准所必需的?

如果是这样的话,最终的PDF文档是否具有与adbe.pkcs7.分离文档相同的长期功能?

ETSI文件中提到,有必要在文件时间戳DSS到期前重新应用以保持签名有效,为什么adbe.pkcs7.分离的文件中没有发生这种情况,如何避免这种情况?

SignedData结构中的ESS属性究竟是如何构建的,其中是否有任何其他更改?

该代码是使用Java中的PDFBox和BouncyCastle实现的,这个库是否也能够实现ETSI签名?

在一条评论中,你澄清了你是;旨在实现B-LT型签名";;因此,这个答案假设这个PAdES配置文件。在该评论中,你还暗示;长期能力";你想与之相比的是Adobe的";LTV使能";暗示。因此,在这里,我们还探讨了这个术语的含义和不含义

格式

到目前为止,我所了解的主要区别是/SubFilter值、DSS结构、ESS属性和文档时间戳。是否所有4项变更都是符合标准所必需的?

事实上,对于实际的PAdES B-LT签名(与ISO 32000-1 adbe.pkcs7.detached签名相反),SubFilter值必须是ETSI.CAdES.destriated,必须添加DSS结构,并且必须存在ESS签名证书。此外,签名后需要时间戳,但它不必是文档时间戳,签名容器中的签名时间戳也足够了。

不过,还有更多的差异。例如,对于PAdES签名,嵌入的SignedData对象应如CAdES中所述。根据SignedData对象的内容,这可能会有所不同,请参见例如此处。认真对待所有的规范,以防止令人讨厌的意外。

SignedData结构中的ESS属性究竟是如何构建的,其中是否有任何其他更改?

ESS签名证书属性在RFC 2634和RFC 5035中指定,并在ETSI EN 319 122-1中的CAdES和PAdES中使用。SignedData、SignerInfo和Attributes结构在RFC 5652和从中引用的其他文档中定义。

请认真对待CAdES和PAdES对这些RFC的描述!例如,RFC允许在同一签名中同时包括ESScertID和ESScertIDv2,而在CAdES/PAdES中,只允许和要求其中一个属性。

长期能力

最终的PDF文档是否具有与adbe.pkcs7.detached文档相同的长期功能?

在一条评论中,您澄清了让Adobe Acrobat显示";LTV使能";对于您的adbe.pkcs7.分离签名是";长期能力";为你。考虑到这一点:是的,Adobe Acrobat也显示";LTV使能";用于在AATL或EUTL上具有信任锚的PAdES B-LT签名。

ETSI文档中提到,有必要在文档时间戳和DSS到期前重新应用它,以保持签名有效,为什么adbe.pkcs7.detached文档中没有发生这种情况,如何避免这种情况?

注意,ETSI文档采用与Adobe Acrobat:不同的验证策略

首先,签名允许长期验证意味着什么?这意味着签名容器(在集成PDF签名的情况下,是整个相应的PDF)带来了验证签名所需的所有信息但验证所需的信息取决于所应用的验证策略

Adobe Acrobat应用的验证策略非常宽松。特别是,它信任所有有问题的令牌(签名、吊销数据…)中的所有时间指定。此外,它不要求吊销数据严格比签名年轻,但允许它们稍微老一点。

另一方面,欧洲合格电子签名的适当验证政策以ETSI EN 319 102-1为基础,并由ETSI TS 119 172-4进行了描述,后者要严格得多。特别是,它需要对所讨论的令牌中的许多时间指定进行证明,并且只接受严格比其所用签名年轻的吊销数据。

ETSI文件中提到,有必要在文件时间戳到期前重新应用文件时间戳和DSS以保持签名有效,隐含地假设了欧洲合格电子签名的后一种验证政策,其中时间戳是重要的和必需的。

在adbe.pkcs7.detached文档中不会发生这种情况,因为您使用Adobe Acrobat及其信任验证策略来验证该文档。

顺便说一句,这特别意味着嵌入在启用LTV的ISO 32000-1 adbe.pkcs7.detached签名中的吊销信息无法用于适当的欧洲合格电子签名验证:在您的情况下,吊销信息(至少稍微)比签名旧,因此无法用于验证。

目标

现在的目标是将子过滤器更改为ETSI.CAdES.detached,以符合一些规定,其中提到ETSI EN 319 142-1是所需的格式。

然后您应该再次检查法规。仅仅要求ETSI EN 319 142-1,因为格式不明确,至少它们应该参考其中规定的一个或多个基线概况。

最新更新