gpt4 book ai didi

php - 带有 PHP 和 Laravel 的数字签名 PDF 文件

转载 作者:行者123 更新时间:2023-12-03 19:55:12 30 4
gpt4 key购买 nike

你好,我在提出这个问题之前搜索了很多。
我知道有一个付费选项来签署 pdf setasign.com

我尝试使用php函数:

openssl_pkcs7_sign( FULL_PATH . "/pdforiginal.pdf", //ORIGIANL PDF
FULL_PATH ."signedPDF.pdf", // SIGNED PDF
"file://" . FULL_PATH . "signing_cert.pem",
array( "file://" . FULL_PATH. "private_key.pem",""),array());

signing_cert.pem <-//我不明白这是什么我只有 private_key 和 public_key。我在这里看到一些人们使用 private_key 的例子。

我的私钥没有密码,我应该使用空白 ""还是 null ?

如果有人能给我一些关于这个主题的信息,那将非常有帮助。

最佳答案

我找到了解决办法。
我使用 FPDI 库打开 pdf 并使用 tcpdf 库对其进行签名。
这使得这个过程非常简单。

require_once('tcpdf_include.php');

require_once "fpdi.php";

$pdf = new FPDI('P', 'mm', 'A4'); //FPDI extends TCPDF

$pages = $pdf->setSourceFile('document.pdf');



/*
NOTES:
- To create self-signed signature: openssl req -x509 -nodes -days 365000 -newkey rsa:1024 -keyout tcpdf.crt -out tcpdf.crt
- To export crt to p12: openssl pkcs12 -export -in tcpdf.crt -out tcpdf.p12
- To convert pfx certificate to pem: openssl pkcs12 -in tcpdf.pfx -out tcpdf.crt -nodes
*/

$certificate = 'file://data/cert/tcpdf.crt';

// set additional information
$info = array(
'Name' => 'TCPDF',
'Location' => 'Office',
'Reason' => 'Testing TCPDF',
'ContactInfo' => 'http://www.tcpdf.org',
);

for ($i = 1; $i <= $pages; $i++)
{
$pdf->AddPage();
$page = $pdf->importPage($i);
$pdf->useTemplate($page, 0, 0);


// set document signature
$pdf->setSignature($certificate, $certificate, 'tcpdfdemo', '', 2, $info);

}

关于php - 带有 PHP 和 Laravel 的数字签名 PDF 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34879037/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com