我们收到经过进一步修改的已签名PDF文件
也许这件更适合你的安全感?我不确定 事实如下:我们收到经过进一步修改的已签名PDF文件,pdf,digital-signature,Pdf,Digital Signature,也许这件更适合你的安全感?我不确定 事实如下: 我们有一个web应用程序,用户下载带有表单的PDF文档,他们填写此表单,用电子证书签名,然后将其上传回我们的环境 我们已经展示了上传的文档被签名的情况,但它显示了签名后被修改的一些字段。如果我们检查PDF签名的完整性,则表明签名后已经进行了数据更改,但签名是正确和有效的 如果我们右键单击签名并选择“查看签名版本”,我们将看到签名时加载的真实数据 现在,这违背了我对电子签名功能的一般看法。如果在我签名后对文档(或加载到文档中的数据)进行了任何更改
- 我们有一个web应用程序,用户下载带有表单的PDF文档,他们填写此表单,用电子证书签名,然后将其上传回我们的环境
- 我们已经展示了上传的文档被签名的情况,但它显示了签名后被修改的一些字段。如果我们检查PDF签名的完整性,则表明签名后已经进行了数据更改,但签名是正确和有效的
- 如果我们右键单击签名并选择“查看签名版本”,我们将看到签名时加载的真实数据
- 这是某种bug还是一种预期行为
- 有什么地方可以找到关于这件事的信息?(谷歌一次又一次地将我重定向到“如何签署PDF”文章)
- PDF签名字段包含已签名字节范围的信息。显然,不能对整个文件进行签名,因为签名本身是嵌入的,不能是签名字节的一部分。因此,需要在某处记录签名字节范围。参见信息安全堆栈交换:
- 可以通过附加到现有文档来添加PDF,这一过程称为增量更新。这些更新可以再次签名等,也请参见:
现在,虽然这听起来像PDF签名没有任何意义,但事实并非如此。ISO 32000-1规范明确规定了文档的认证(=使用某些特殊标志签名)基础版本的增量更新中允许进行哪些更改,Adobe在其Acrobat和Reader软件中对已签名但未经认证的文档进行了限制,参见堆栈溢出 特别是,最多允许以下更改:
- 添加签名字段
- 添加或编辑批注
- 提供表单字段值
- 数字签名
如果这是一种明确的行为,你如何处理 由于文档源于您,您可以首先对文档应用证书签名,该签名只允许在您的用例中进行尽可能小的更改 然后,您可以为用户要签名的签名字段定义签名锁信息。在这些锁定信息中,您可以规定,在签署给定签名字段后,许多表单字段应为只读 最后,您只接受仍然包含您的认证签名且未添加不允许更改的返回PDF 实际上,有许多PDF经过认证,其中包含许多用于附加批准签名的字段,每个批准签名字段都与一些表单字段相耦合,这些表单字段在签名后将不再可编辑。所有签名字段签名后,所有字段都是只读的 有什么地方可以找到关于这件事的信息?(谷歌一次又一次地将我重定向到“如何签署PDF”文章) 您应该特别关注PDF规范ISO 32000-1和一些有关其软件行为的Adobe文档。您将在堆栈溢出文档页面的底部找到上述链接指向的链接 现在,这违背了我对电子签名功能的一般看法。如果在我签名后对文档(或加载到文档中的数据)进行了任何更改,则此签名应无效,因为文档已被更改 PDF的行为似乎有所不同,因为不仅签名仍然有效,而且打开文档时看到的“默认版本”是最后一个,而不是签名版本 这是某种bug还是一种预期行为 这是预期的行为。 您必须注意以下两个特殊因素:
- PDF签名字段包含已签名字节范围的信息。显然,不能对整个文件进行签名,因为签名本身是嵌入的,不能是签名字节的一部分。因此,需要记录签名字节范围