gpt4 book ai didi

PHP 如何检查 PDF 是否经过数字签名

转载 作者:行者123 更新时间:2023-12-02 09:22:44 28 4
gpt4 key购买 nike

我的 PHP 程序使用 TCPDF 生成 PDF,然后:

  1. 用户下载 PDF;
  2. 用户对 PDF 进行数字签名;
  3. 用户上传签名的 PDF;

对于第 3 步,我想检查上传的文件是否经过数字签名。

更好的是检查上传的文件是否与程序在步骤 1 中生成的文件相同。

最佳答案

试试这个:

 <?php
//from: http://stackoverflow.com/a/9059073/284932
function isStringInFile($file,$string){

$handle = fopen($file, 'r');
$valid = false; // init as false
while (($buffer = fgets($handle)) !== false) {
if (strpos($buffer, $string) !== false) {
$valid = TRUE;
break; // Once you find the string, you should break out the loop.
}
}
fclose($handle);

return $valid;

}

搜索“adbe.pkcs7.detached”:

//Signed?
echo isStringInFile('mypdf.pdf', 'adbe.pkcs7.detached');

要检查是否是相同的 pdf,您可以使用 TCPDF's setKeyWords()放置一些唯一的 key 并使用Smalot PDF Parser进行检查:

<?php
$parser = new \Smalot\PdfParser\Parser();
$pdf = $parser->parseFile('signed_pdf.pdf'); //com keywords
$details = $pdf->getDetails();

关于PHP 如何检查 PDF 是否经过数字签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36603497/

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