'认证'之间的区别和#39;签署'对于PDF

时间:2014-12-23 14:05:07

标签: php pdf openssl sign

我正在开发一个签署pdf文件的脚本。我用tcpdf和tcpdi。我有.key私钥,密码和.pem证书。我使用函数:

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

当我打开我的pdf时,adobe读者说我的文件认证但没有签名 ....

有人知道为什么吗?我怎样才能签名而不是证书呢?

感谢。

1 个答案:

答案 0 :(得分:1)

根据PDF规范:

  
    

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

         

*一个或多个批准签名。 ...

         

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

         

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

  

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