我正在开发一个签署pdf文件的脚本。我用tcpdf和tcpdi。我有.key私钥,密码和.pem证书。我使用函数:
$pdf->setSignature($certificate,$pk,$passphrase);
当我打开我的pdf时,adobe读者说我的文件认证但没有签名 ....
有人知道为什么吗?我怎样才能签名而不是证书呢?
感谢。
答案 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签名。