0
Im tcpdfを使用してpdfファイルを生成して署名します。問題は、ファイルImが "署名は有効ではありません"と "変更がこの文書で行われました"と表示され、署名が無効になることです。TCPDFで署名する際の問題
$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');
およびIMを例としてthis例ページから生成されたP12を使用して次のようにコードがあります。 setSignature
に渡すパラメータは、$certificate_crt
と$certificate_key
です。
私は、これらのCRTや手順、次のキーファイルを生成:
openssl pkcs12 -in example_p12.p12 -out certificate.pem -nodes
- が空cert.crtファイルを作成します。
- 空のcert_key.keyファイルを作成します。
- 証明書ゾーンを.pemファイルからcrtファイルにコピーします。
- 証明書キーゾーンを.pemからキーファイルにコピーします。
私は間違っていることを知っていません。この方法では動作するはずですが、私は正しい証明書ファイルを使用していますか、または2つのpemファイルや他の何か...他のタイプの証明書ファイル?