0
tcpdf을 사용하여 PDF 파일을 생성하고 서명하십시오. 문제는 파일 Im이 "서명이 유효하지 않습니다"및 "이 문서에서 변경되었습니다"를 표시하므로 서명이 무효화됩니다.TCPDF로 pdf에 서명하는 데 문제가 있습니다.
$pdf->SetProtection(array('copy'), '', null, 0, null);
$pdf->SetMargins(0, 0, 0, true);
$pdf->SetHeaderMargin(0);
$pdf->SetFooterMargin(0);
$pdf->SetAutoPageBreak(false, 0);
$pdf->AddPage('L');
$pdf->Image($imagen, -7, 1, 310, 210, '', '', '', false, 300, '', false, false, 0);
if(!empty($imagentrasera)){
$pdf->AddPage('L');
$pdf->Image($imagentrasera, -7, 1, 310, 210, '', '', '', false, 300, '', false, false, 0);
}
if(!empty($certificado_digital)){
// PENDIENTE DE TERMINAR
$info = array(
'Name' => __('Certificado PDF',true),
'Location' => '',
'Reason' => '',
'ContactInfo' => '',
);
//var_dump($_SERVER['DOCUMENT_ROOT']);
// HAY QUE RETOCAR¡¡¡
$certificado_crt = 'file://'.$_SERVER['DOCUMENT_ROOT'].Configure::read('directorioinstalacion').'app/webroot/Documentos/certificados/'.$certificado_digital;
$certificado_key = 'file://'.$_SERVER['DOCUMENT_ROOT'].Configure::read('directorioinstalacion').'app/webroot/Documentos/certificados/'.$certificado_key;
$pdf->setSignature($certificado_crt,$certificado_key, '', '', 1, $info);
}
echo $pdf->Output(__('Certificado',true).'.pdf', 'I');
메신저를 예로 this 예에서 생성 된 페이지 (P12)를 이용하여 다음과 같이 코드이다. 메신저 setSignature
에 전달하는 매개 변수는 $certificate_crt
및 $certificate_key
입니다.
openssl pkcs12 -in example_p12.p12 -out certificate.pem -nodes
- 빈 cert.crt 파일을 만듭니다 나는 다음 단계를 수행하여 이러한 CRT와 키 파일을 생성합니다.
- 빈 cert_key.key 파일을 만듭니다.
- .pem의 인증서 영역을 crt 파일에 복사합니다.
- 인증서 키 영역을 .pem에서 키 파일로 복사합니다.
그래서 내가하는 일이 잘못되어있어,이 방법으로 작동해야하지만, 메신저가 올바른 인증서 파일을 사용하고 있는지, 아니면 두 개의 파일이나 다른 파일을 사용하고 있어야합니다. 다른 유형의 인증서 파일?