> 백엔드 개발 > PHP 문제 > PHP 서명 오류 문제를 해결하는 방법

PHP 서명 오류 문제를 해결하는 방법

藏色散人
풀어 주다: 2023-03-15 06:30:02
원래의
2270명이 탐색했습니다.

php 서명 오류는 문서에 포함된 서명 컨테이너가 원래 예약된 크기를 초과하기 때문에 발생합니다. 해결 방법은 서명 컨테이너를 위해 더 많은 공간을 예약하는 것입니다.

PHP 서명 오류 문제를 해결하는 방법

이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿