我们如何检查我们的PDF上的数字签名是否符合' PAdES'标准?
最诚挚的问候 Pearapon S。
泰国曼谷
答案 0 :(得分:1)
OP使用第三方软件(手头的iText 5.4.2)来创建PAdES签名,现在想要检查生成的签名是否确实满足PAdES规范。这里有一些想法:
首先,你必须定义你的意思" PAdES签名":
您的意思是即将发布的PDF 2.0规范中定义的术语:
使用子过滤器值 ETSI.CAdES.detached 的PDF签名称为 PAdES签名,它们遵循两个CMS配置文件之一创建时与ETSI EN 319 122中定义的相应CAdES配置文件兼容。
(ISO 32000-2 FDIS第12.8.3.4节 - PDF中使用的CAdES签名)
您是指更符合ETSI EN 319 142-1中指定的PAdES基线签名配置文件之后的签名吗?
第6条定义了四个级别的PAdES基线签名,旨在促进互操作性并涵盖PAdES签名的生命周期,即:
a)B-B级别提供了在生成签名时合并有符号和一些无符号属性的要求。
b)B-T级别为现有签名生成和包含可信令牌的要求,证明签名本身实际存在于特定日期和时间。
c)B-LT级别提供了在签名文件中纳入验证签字所需的所有材料的要求。该级别旨在解决验证材料的长期可用性。 d)B-LTA级别提供了加入电子时间戳的要求,这些时间戳允许在生成后长时间验证签名。该级别旨在解决验证材料的长期可用性和完整性。(ETSI EN 319 142-1 V1.1.1第6节 - PAdES基线签名)
或者,ETSI EN 319 142-2的其他PAdES签名配置文件是否也符合要求?
本文档包含使用PDF签名的配置文件,如ISO 32000-1 [1]中所述并基于CMS数字签名[i.6],通过提供额外的限制来实现PDF签名的更大互操作性ISO 32000-1 [1]的那些。第一个配置文件与ETSI EN 319 142-1 [4]无关。
本文档还包含第二组配置文件,这些配置文件扩展了PAdES第1部分[5]中配置文件的范围,同时保留了一些增强PAdES签名互操作性的功能。这些配置文件定义了三个级别的PAdES扩展签名,用于满足增量要求以长期保持签名的有效性,其方式是某个级别始终满足低于它的所有要求。这些PAdES扩展签名提供了比ETSI EN 319 142-1 [4]中规定的PAdES基线签名更高的可选性。
本文件还定义了第三个配置文件,用于使用嵌入在PDF文件中的XAdES签名签名的任意XML文档。
(ETSI EN 319 142-2 V1.1.1第1节 - 范围)
特别是你必须知道你是否也在考虑额外的PAdES签名配置文件"用于PDF中的CMS数字签名"或者"用于XAdES签名在PDF中签署XML内容"来自ETSI EN 319 142-2或不是因为这两个配置文件与其余配置文件有很大不同。
我假设您不考虑这两个配置文件,因为前者或多或少是好的旧ISO 32000-1 CMS签名,但大多数签名者都遵循一些限制,后者是XML签名完全是不同的动物一起。
所有剩余的配置文件主要区别在于验证相关信息的数量和类型以及添加到文档中的时间戳,以使验证越来越少依赖于必须在线检索的数据。
手动:您使用PDF浏览器(如iText RUPS或PDFBox PDF调试器),十六进制查看器,ASN.1转储实用程序,上面列表中适用的基本规范以及从中引用的其他规范基本规范并检查所有标准。
这需要相当长的时间来进行单一签名,但最后您可以了解有关已测试签名的所有信息。如果您有使用这些工具和使用规范的经验,或者您真的有很多时间需要学习,我建议您这样做。
以编程方式:您使用通用PDF库(如果您使用的不同于您创建签名的PDF库,结果的可信度可能会增加),安全函数库(例如BouncyCastle),基本规范和其他规范,并开始实施测试规范中标准的程序。
这需要相当长的时间来开发,但之后可以重复使用,例如用于质量保证和回归预防。如果你有使用这些库和使用规范的经验,或者你真的有很多时间学习,我只推荐这个。
您使用现有的软件或服务为您评估签名,例如 ETSI签名一致性检查器(http://signatures-conformance-checker.etsi.org/pub/index.shtml),这是一个免费的在线工具,可以执行大量检查,以验证ETSI高级电子签名的符合性。
这显然是最快的选择,但您通常无法确定测试执行的可靠性。因此,它作为第一意见是好的,但取决于涉及多少,我会想要更多的安全。
您可以聘请专家根据所需的个人资料分析和评估签名的有效性。
这可能很昂贵但至少你有人可以诉诸,如果你因为某些不合规而遇到麻烦。