Предупреждение: 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, если вы хотите попробовать, вот ссылка на скачивание этой версии