为什么openssl_sign没有签署我的pdf?

时间:2017-06-27 14:14:03

标签: php pdf php-openssl

我尝试使用openssl_sign在php上使用我的数字签名签署pdf,但这不起作用。

$private = openssl_pkey_get_private(file_get_contents("./certificate.pem"));

$public = openssl_pkey_get_public(file_get_contents("./certificate.pem"));

$data = file_get_contents("./mypdf.pdf");

openssl_sign($data, $signature, $private, OPENSSL_ALGO_SHA256);

file_put_contents('signature.dat', $signature);

$r = openssl_verify($data, $signature, $public, "sha256WithRSAEncryption");

当我用adobe reader打开pdf时,并没有告诉我pdf没有签名。有人能帮我吗?

1 个答案:

答案 0 :(得分:1)

因为PDF格式不起作用。签名包含在PDF文件中,不作为单独的文件存储。

使用TCPDF等现有库对PDF进行签名。