Ralat tandatangan PHP berlaku kerana bekas tandatangan yang dibenamkan dalam dokumen melebihi saiz asal yang dikhaskan untuknya. Penyelesaiannya adalah dengan menempah lebih banyak ruang untuk bekas tandatangan.
Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3
Cara menyelesaikan masalah ralat tandatangan php?
Perihalan masalah:
Saya menggunakan TCPDF untuk menjana dokumen pdf dan menandatanganinya TCPDF sendiri hanya memanggil fungsi openssl_pkcs7_sign PHP, yang saya lihat Datang berdasarkan kod sumber.
Semuanya berfungsi dengan baik sehingga baru-baru ini saya menukar penyedia sijil, saya baru sahaja mengemas kini kunci peribadi, sijil dan rantaian sijil: Menyalin sijil akar dan perantaraan baharu dalam PEM format. Saya mengesahkan fail menggunakan openssl dan ia kelihatan baik.
$pdf->setSignature( $this->public_certificate_path, $this->private_key_path, $this->private_key_password, $this->extra_certificates_path, 1);
打开文件时,它说<块引用> 此文件已损坏但正在修复中 上面的蓝丝带说<块引用> 认证无效 当我打开签名面板时,它显示<块引用> 由 %s 认证 错误详情说<块引用> 此签名中包含的格式或信息有错误(支持信息:SigDict/Contents 非法数据) 当我点击"证书详细信息"时,没有任何反应?
Analisis fail sampel yang dikongsi oleh OP boleh memahami masalah: Bekas tandatangan yang dibenamkan dalam dokumen melebihi saiz bekas tandatangan yang asalnya bertujuan untuknya.
Oleh itu, penyelesaiannya adalah dengan menempah lebih banyak ruang untuk bekas tandatangan.Pembelajaran yang disyorkan: "Tutorial Video PHP
"Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah ralat tandatangan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!