PAdES 的最低 PDF 版本是多少?

What is the minimum PDF version for PAdES?

我正在使用 puppeteer 生成 PDF 文件。它会自动生成一个 PDF-1.4 文件。然后,我使用 dss 使用 PAdES 签名对其进行数字签名。生成的文件可以在 PDF 查看器中打开,PDFStudio 似乎可以正确解析文档签名。

但是这有效吗? Wikipedia 表示 PDF/A-2(基于 1.7)增加了对 PAdES 的支持。 我是否需要至少生成 PDF-1.7(或 PDF/A-2)才能获得带有有效签名的有效 PDF 文件?

注意:我在技术和法律术语中都使用了术语 valid

PAdES规范ETSI EN 319 142表征

PAdES signatures profiled in the present document build on PDF signatures specified in ISO 32000-1 with an alternative signature encoding to support digital signature formats equivalent to the signature format CAdES.

PDF规范ISO 32000-1表征

ISO 32000 specifies a digital form for representing documents called the Portable Document Format or usually referred to as PDF. PDF was developed and specified by Adobe Systems Incorporated beginning in 1993 and continuing until 2007 when this ISO standard was prepared. The Adobe Systems version PDF 1.7 is the basis for this ISO 32000 edition. The specifications for PDF are backward inclusive, meaning that PDF 1.7 includes all of the functionality previously documented in the Adobe PDF Specifications for versions 1.0 through 1.6. It should be noted that where Adobe removed certain features of PDF from their standard, they too are not contained herein.

(这听起来有点令人困惑,一方面 PDF 1.7 包含了之前在 Adob​​e PDF 规范中针对 1.0 到 1.6 版记录的所有功能, 另一方面Adobe 从其标准中删除了 PDF 的某些功能。确实,某些功能已被删除,但我认为您的 PDF 1.4 文件不会受到影响。)

因此,像您这样声称版本为 1.4 的 PDF 文件也是 向后包容性 的 PDF 1.7,因此可以通过 PAdES 签名进行签名。

因此,是的,PDF 1.4 文件可以(技术上)有效地使用 PAdES 签名进行签名。 (显然,除非您的文件明确禁止这样做。)

(实际上,还可以查看 ISO 32000-2 中采用的 PAdES 签名;在这种情况下,您的 PDF 1.4 文件通过向后包容性也是 PDF 2.0,因此可以使用此处指定的 PAdES 签名进行签名。)


您还询问了法律方面的问题。首先,我不是律师,所以不要考虑这种正规的法律咨询。

不过,首先,您必须明确要调查的法律体系 法律效力

虽然 PAdES 最初是在欧盟签名法规的背景下定义的,但许多其他国家/地区也采用 PAdES 作为其首选 PDF 签名的标准。

因此:您是否想知道在欧盟 eIDAS 签名的上下文中作为签名的有效性?您是否正在考虑欧盟成员国的具体规定?或者您想了解欧盟以外其他国家的情况?

在欧盟,您的 PAdES 签名应该被普遍接受。即使在特定情况下可能有一些成员国的特殊规定,它们只会影响您对 DSS 签名请求的 PAdES 配置文件的选择,它们不应使您的 PDF 1.4 源 PDF 无法用于 PAdES 签名。

我不知道 non-EU 具有 PAdES 偏好的法律系统的具体情况。但是如果您的 PDF 是 PDF 1.4 会打扰我,我确实会感到惊讶。


在评论中出现了签名文件是否仍然是有效的 PDF 1.4 的问题,如果不是,文件头中的 1.4 版是否会成为一个问题。

显然 PDF 1.4 不知道 PAdES 签名编码的细节。不过幸运的是,PDF Reference 1.4 实际上根本不知道任何特定的签名编码!因此,只要遵循 PDF 1.4 参考中存在的极少数规则,任何签名编码都是无效的,PAdES 签名也是如此。

此外,PDF 1.4 参考允许

A PDF producer or Acrobat plug-in extension may also add keys to any PDF object that is implemented as a dictionary, except the file trailer dictionary (see Section 3.4.4, “File Trailer”).

因此,在应用 PAdES 签名时添加的任何未在 PDF 1.4 中定义的密钥都是无害的。

因此,添加了 PAdES 签名的 PDF 1.4 文件仍然是有效的 PDF 1.4 文件。显然,普通的 PDF 1.4 查看器不知道如何验证 PAdES 签名。但由于它根本不知道如何验证任何签名,所以这无关紧要。