2016-10-20 123 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

您需要的 '文件://' 前綴和真實路徑到文件:

//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'); 
相關問題