PDF 和 PAdES(PDF/A-2 和 PDF 2.0)

PDF and PAdES (PDF/A-2 and PDF 2.0)

PDF/A-2

PDF 2.0

Is PAdES mandatory for PDF/A-2? Or are other signature formats in PDF/A-2 also allowed?

PAdES 不是强制性的。特别是 "PAdES" 这个名字在 PDF/A-2 规范中甚至都没有提到。只有一些要求与 PAdES 要求相似,例如

  • When computing the digest for the file, it shall be computed over the entire file, including the signature dictionary but excluding the PDF Signature itself. This range is then indicated by the ByteRange entry of the signature dictionary.

    这也是 PAdES 签名引入的要求,在 ISO 32000-1 中这只是一个建议。但事实上,Adobe Reader 很久以前就提出了这一要求。

  • Although ISO 32000-1 also allows the value of the Contents entry of signature dictionary to be a DER-encoded PKCS#1 binary data object, that format is not recommended.

    这有效地推荐使用基于 PKCS#7/CMS 签名容器的 PDF 签名。这也与 PAdES 相似,后者实际上更进一步并需要它。但是基于裸 PKCS#1 对象的 PDF 签名无论如何都不流行,即使在普通的 PDF 世界中也是如此。

  • ISO 32000-1:2008 allows the inclusion of one or more RFC 3281 attribute certificates to be associated with the signer certificate. However, a conforming writer should not include them as they are not widely supported and hence use of this attribute will reduce interoperability.

    PAdES 第 2 部分(基本配置文件)中有类似的建议。在 PAdES 第 3 部分(PAdES-BES 和 PAdES-EPES 配置文件)属性证书甚至被禁止。但是现在属性证书已经不流行了

因此,有相似之处,但仅此而已。

Will PAdES be mandatory in the new PDF 2.0 standard? Or will PDF 2.0 be compatible to PAdES and other signature formats will be allowed, too?

由于 PDF 2.0 尚未发布,严格来说这只是猜测。

不过,在我能读到的最后一个草案中,PAdES 签名已添加到现有格式中,只有 adbe.pkcs7.sha1 签名已被弃用。由于 SHA1(至少在该格式中使用过一次)已失去信任,因此无论如何不应使用此格式,即使在当前的 PDF 中也是如此。


因此,PDF/A-2 和 ISO 32000-2 均未强制执行 PAdES 样式签名,adbe.pkcs7.detached 样式签名仍然是有效选项。但是,如果对互操作性和长期验证功能感兴趣,PAdES 很可能是更好的选择。