Я использую 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.
Проблема заключается в местоположении, откуда он пытается получить доступ к закрытому ключу. Вместо «как в их примере используйте» файл: // '. (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, если вы хотите попробовать, вот ссылка, чтобы загрузить эту версию