2016-10-20 59 views
0

При попытке использовать TCPDF для создания PDF и подписать его, я получаю сообщение об ошибке:openssl_pkcs7_sign(): ошибка при получении закрытого ключа

openssl_pkcs7_sign(): error getting private key. 

и:

Undefined offset: 1 in ..\tcpdf\tcpdf.php on line 7604 

я нашел следующее StackOverflow сообщения и старались следовать их решения:

К сожалению, ничего не работает.

Я пытался использовать:

$certificate = "file://" . getcwd() . "/objects/dummy_cert.cert"; 

или

$certificate = "file://" . __DIR__ "/objects/dummy_cert.cert"; 

или писать полный путь вручную.

Мой сценарий выполняется из корневого пути проекта, из которого /objects/ является следующей папкой, в которой находится мой dummy_cert.cert.

Что здесь происходит и как я могу это исправить?

Я даже зарегистрировал содержимое сертификата $, чтобы убедиться, что он генерирует правильный путь. Сгенерированный путь, скопированный в адресную строку Google Chrome, немедленно загружает содержимое файла .cert.

ответ

0

Вам нужен 'файл: //' префикс и Realpath в файл:

//in your case 
$certificate = 'file://'.realpath('/objects/dummy_cert.cert'); 
// OR for other cases 
$certificate = 'file://'.realpath('../upper_folder/objects/dummy_cert.cert'); 
// OR 
$certificate = 'file://'.realpath('C:/objects/dummy_cert.cert'); 

 Смежные вопросы

  • Нет связанных вопросов^_^