Предупреждение: openssl_pkcs7_sign() [function.openssl-pkcs7-sign]: ошибка при получении закрытого ключа в C:\xampp\htdocs\this\tcpdf\tcpdf.php в строке 8366

Я использую TCPDF для подписи PDF, но при выполнении примера 52 я получил эту ошибку:

Warning: openssl_pkcs7_sign() [function.openssl-pkcs7-sign]: error getting 
private key in C:\xampp\htdocs\this\tcpdf\tcpdf.php on line 8366

Не могли бы вы сказать мне или направить меня, где проблема. Я просто запускаю пример, ничего не меняя. Я использую xampp.

3 ответа

Проблема в том, откуда он пытается получить доступ к закрытому ключу. Вместо '' как в их примере используйте 'file://'.(Dirname (FILE)). '. / Path/to/file'. Это сработало для меня.

Я решил это с помощью:

$certificate = 'file://'.realpath('../tcpdf.crt');

Когда вы создаете свой собственный сертификат, используйте это:

/*
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
*/

Наконец, спустя несколько недель назад я нашел решение. Я только что скачал версию TCPDF 5.9, и она работает:D, если вы хотите попробовать, вот ссылка на скачивание этой версии

ссылка: https://sourceforge.net/code-snapshots/git/u/u/u/mynetx/tcpdf.git/u-mynetx-tcpdf-5828c0d80580cbad069988e2067ad5e37e1e98e7.zip

Другие вопросы по тегам