首頁 > 後端開發 > PHP問題 > 如何解決php 簽名出錯問題

如何解決php 簽名出錯問題

藏色散人
發布: 2023-03-15 06:30:02
原創
2236 人瀏覽過

php簽名出錯是因為嵌入到文件中的簽名容器超出了原來為它預留的大小,其解決方法就是為簽名容器預留更多空間即可。

如何解決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.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板