当前位置: 首页 > 知识库问答 >
问题:

PAdES的最低PDF版本是多少?

汪臻
2023-03-14

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

然而,这是否有效?维基百科声明PDF/A-2(基于1.7)增加了对PAdES的支持。我是否需要生成至少PDF-1.7(或PDF/A-2)才能拥有具有有效签名的有效PDF文件?

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

共有1个答案

钱经赋
2023-03-14

帕德斯规范ETSI EN 319 142的特点

本文件中描述的PAdES签名基于ISO 32000-1中规定的PDF签名,具有替代签名编码,以支持等同于签名格式CAdES的数字签名格式。

PDF规范ISO 32000-1描述了

ISO 32000规定了一种表示文档的数字格式,称为可移植文档格式或通常称为PDF。PDF是由Adobe Systems Incorporated从1993年开始开发和指定的,一直持续到2007年制定本ISO标准。Adobe Systems版本PDF 1.7是本ISO 32000版本的基础。PDF的规范是向后兼容的,这意味着PDF 1.7包含了Adobe PDF规范1.0到1.6版本中之前记录的所有功能。需要注意的是,Adobe从其标准中删除了PDF的某些功能,这些功能也不包含在本文中。

(这听起来可能有点令人困惑,一方面,PDF 1.7包含了Adobe 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签名的背景下,签名的有效性吗?您是否正在考虑欧盟成员国的具体规定?或者你想知道欧盟以外其他国家的情况吗?

在欧盟,你的帕德斯签名应该被普遍接受。尽管在特定情况下可能会有一些成员国的特殊规定,但这些规定只会影响您从DSS申请签名的PAdES配置文件的选择,不应使您的PDF 1.4源PDF无法用于PAdES签名。

我不知道帕德斯偏好的非欧盟法律体系的具体情况。但如果有人因为PDF 1.4而烦恼,我确实会感到惊讶。

在评论中,出现了这样一个问题:签名文件是否仍然是有效的PDF 1.4,如果不是,文件头中的1.4版本是否会引起关注。

显然,PDF 1.4不知道PAdES签名编码的细节。幸运的是,PDF参考1.4实际上根本不知道任何特定的签名编码!因此,只要遵循PDF 1.4参考中的极少规则,并且PAdES签名这样做,任何签名编码都是无效的。

此外,PDF 1.4参考允许

PDF producer或Acrobat插件扩展还可以向实现为字典的任何PDF对象添加键,但文件拖车字典除外(请参阅第3.4.4节“文件拖车”)。

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

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

 类似资料:
  • 我在尝试使用pandas软件包时遇到了这个问题。我已经使用命令安装了numpy 1.9.0和dateutil 2.5.0。我仍然看到这个错误。 是否有其他方法安装dateutil?而这只与熊猫包有关 回溯(最后一次调用):从pandas.compat.numpy import*文件“/Users/xyz/Library/Python/2.7/lib/Python/site packages/pan

  • 最后,我在Hibernate的发布说明中搜索了。0版本,也没有成功:似乎发布说明只描述了自上一个RC或beta发布以来的变化...我尝试跟踪4.3.0.final和4.2.0.final的所有RC和beta版本,但没有找到这样的提及。 我们目前使用的是Hibernate 4.2.12.final,我想知道我们是否可以开始使用java8,或者是否需要升级到Hibernate的新版本(大概是4.3.x

  • 试图在android Studio中找到构建一个android项目所需的最小源代码和构建文件。我想发布到github,避免上传生成的构建文件或二进制文件。 我确实有一个Android.Gitignore从,但我仍然看到更多的文件被推入回购,这可能是不必要的。我明白几个明显的,但关于其他,我是否需要他们,如果是这样,善意地解释用法。 所以问题是,我需要以下内容吗?如果需要的话,我需要一个简短的描述,

  • 问题内容: 我已经仔细阅读了JSON描述http://json.org/,但是我不确定我是否知道简单问题的答案。最小可能的有效JSON是什么字符串? 字符串是有效的JSON吗? 简单数字是有效的JSON吗? 布尔值是有效的JSON吗? 空对象是有效的JSON吗? 空数组是有效的JSON吗? 问题答案: 在撰写本文时,JSON仅在RFC4627中进行了描述。它(在“2”开头)将JSON文本描述为序列

  • 我正在使用spring boot 1.4.x开发一个web服务,并在支持Java 6的WebSphere8.5中部署它。但是当我部署war时,我得到了以下错误。 看起来像是spring boot的jar依赖项(spring-ws-core-2.3.1.release.jar)中有一个用Java 7编译的类,这导致了下面的错误。 使用spring boot 1.4.x所需的最低Java版本是什么?在

  • 问题内容: 我需要很快将应用程序升级到Java 11,我想知道与Java 11兼容的最低Spring版本是多少。 我目前正在使用Java 8和Spring 4.2.7。 问题答案: 从他们的任务跟踪器中 -SPR-16391:与JDK 11的兼容性 。计划与 5.1 GA 版本一起实现JDK 10、11的兼容性。 JDK 11当前计划于2018年9月发布。从我们的角度来看,除了JDK 10之外,