脚本宝典收集整理的这篇文章主要介绍了使用PHP,Zend和openssl对PDF进行数字签名,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我发现@L_512_2@,但它根本不起作用,Zend无法打开任何pdf,甚至Zend自己的测试pdf和Zend也不会报告原因,只是它’不能’.
我很确定我能够有效地创建密钥/证书,因为这有很好的文档,但有没有一种可靠的方法将生成的证书附加到PDF,因为上面的Zend扩展建议曾经这样做过?
function DigiSignPDF ($pdf_sign_request) { if (get_magic_quotes_gpc()) { $new_pdf = stripslashes($pdf_sign_request['raw_pdf']); } else { $new_pdf = $pdf_sign_request['raw_pdf']; } $test_pdf = stripslashes(file_get_contents('path/Some.pdf')); $test_pdf2 = ('path/Some.pdf'); $pdf = Zend_Pdf::load($new_pdf2); //below is the signing code,From another library,IT works as long as Zend_Pdf works $certificate = file_get_contents('path/certificate.p12'); $certificatePassword = 'test123'; if (empty($certificate)) { throw new Zend_Pdf_Exception('Cannot retrieve/generate the certificate.'); } $pdf->attachDigitalCertificate($certificate,$certificatePassword); $eSig_pdf = $pdf->render(); file_put_contents('path/signed_pdf.pdf',$eSig_pdf); }
编辑,添加代码:以上只有在我使用’test_pdf2’作为Zend_Pdf的输入时才有效.它将证书识别为二进制而没有任何问题,但我需要能够传递PDF而无需将其写入磁盘.
以上是脚本宝典为你收集整理的使用PHP,Zend和openssl对PDF进行数字签名全部内容,希望文章能够帮你解决使用PHP,Zend和openssl对PDF进行数字签名所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。