PDF 的“已认证”和“已签名”之间的区别


Difference between 'certified' and 'signed' for PDF

我正在开发一个脚本,它将签署pdf文档。我使用 tcpdf 和 tcpdi。我.key私钥、密码短语和 .pem 证书。我使用函数:

$pdf->setSignature($certificate,$pk,$passphrase);

当我打开我的 pdf 时,Adobe 阅读器说我的文档经过认证但未签名

有人知道为什么吗?我如何签名而不是证书?

谢谢。

根据 PDF 规范:

PDF 文档可能包含以下标准类型的签名:

*一个或多个批准签名。

*最多一个认证签名(PDF 1.5)。认证签名的签名字典应为签名字段的值,并应包含 ByteRange 条目。它也可以从权限字典中的 DocMDP 条目引用(请参见 12.8.4 "权限")。签名字典应包含具有 DocMDP 转换方法的签名引用字典(参见表 253)。有关如何创建和验证这些签名的信息,请参见 12.8.2.2 "DocMDP"。用于认证或批准签名的签名字典也可能具有具有 FieldMDP 转换方法的签名引用字典;请参见 12.8.2.4 "字段MDP"。

*最多两个使用权限签名 (PDF 1.5)....

因此,Adobe 称您的 PDF 已认证意味着它是经过特殊签名的,它具有 MDP 签名。