我是靠谱客的博主 欣喜手套,最近开发中收集的这篇文章主要介绍如何解决php 签名出错问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑

如何解决php 签名出错问题?

问题描述:

我正在使用 TCPDF 生成一个 pdf 文档并对其进行签名.TCPDF 本身只是调用 PHP 的 openssl_pkcs7_sign 函数,这在我看来是基于 源代码.

直到最近一切正常.然后我改变了证书提供者.我刚刚更新了私钥、证书和证书链:

$pdf->setSignature(
                $this->public_certificate_path, 
                $this->private_key_path, 
                $this->private_key_password, 
                $this->extra_certificates_path, 
                1);
登录后复制

我在 extra_certificates_path 文件中以 PEM 格式复制了新的根证书和中间证书.我使用 openssl 验证了这个文件,看起来不错.

现在,当我在 Adobe Reader 中打开已签名的 PDF 时,它会显示以下错误:

打开文件时,它说<块引用>
此文件已损坏但正在修复中
上面的蓝丝带说<块引用>
认证无效
当我打开签名面板时,它显示<块引用>
由 %s 认证
错误详情说<块引用>
此签名中包含的格式或信息有错误(支持信息:SigDict/Contents 非法数据)
当我点击"证书详细信息"时,没有任何反应?
登录后复制

解决办法:

分析OP共享的示例文件可以理解问题:嵌入到文档中的签名容器超出了原来为它预留的大小.

因此,解决方案是为签名容器预留更多空间.

推荐学习:《PHP视频教程》

以上就是如何解决php 签名出错问题的详细内容,更多请关注靠谱客其它相关文章!

最后

以上就是欣喜手套为你收集整理的如何解决php 签名出错问题的全部内容,希望文章能够帮你解决如何解决php 签名出错问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部