F.C*_*.C. 6 pdf bouncycastle digital-signature pdfbox
我有一个正确的、有效的、LTV 的adbe.pkcs7.detached PDF 签名实现,它是按照ISO32000 2008-1和RFC5652指南制作的。现在我还尝试允许ETSI EN 319 142-1中描述的ETSI.CAdES.detached类型签名。据我到目前为止所了解的,主要区别是/SubFilter值、DSS结构、ESS属性和document-time-stamp。为了符合该标准,所有这 4 项更改都是必要的吗?
如果是,最终的 PDF 文档是否具有与adbe.pkcs7.detached文档相同的长期功能 ?
ETSI文档中提到,有必要在过期前重新应用文档时间戳和DSS以保持签名有效,为什么adbe.pkcs7.detached文档中不会发生这种情况以及如何避免这?
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.detached,必须添加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 为您的adbe.pkcs7.detached签名显示“LTV 已启用”, 这表明您具有“长期功能”。考虑到这一点:是的,Adobe Acrobat 还会在 AATL 或 EUTL 上显示具有信任锚的 PAdES B-LT 签名“启用 LTV”。
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 的格式尚不明确,至少应该参考其中指定的一个或多个基线配置文件。
| 归档时间: |
|
| 查看次数: |
1606 次 |
| 最近记录: |