警告:openssl_pkcs7_sign():使用WAMP获取私钥时出错

时间:2015-08-18 21:39:59

标签: php openssl tcpdf pkcs#7

我正在尝试使用TCPDF签署PDF,但我收到此错误:

Warning: openssl_pkcs7_sign(): error getting private key in C:\wamp\www\tcpdf\tcpdf.php on line 7594.   

我的PHP版本是5.5.12和TCPDF 6.2.11。 Windows 7.

其他示例运行良好,但失败了。我试过了:

'file://'.( dirname(FILE)).'./path/to/file' and again $certificate = 'file://'.realpath('../tcpdf.crt'); 

但对我不起作用。

2 个答案:

答案 0 :(得分:0)

我认为file://不正确。你用dirname(__FILE__)来获取真实路径就足够了。所以我更喜欢:

$certificate = __DIR__'/../tcpdf.crt';

__DIR__dirname(FILE)是您所在文件的路径。您可以使用/../../返回到您的文件,具体取决于您的证书文件的文件夹位置。

答案 1 :(得分:0)

您需要'文件://'前缀和文件的实际路径:

//in your case
$certificate = 'file://'.realpath('../tcpdf.crt');
// OR for other cases
$certificate = 'file://'.realpath('/tcpdf.crt');
// OR
$certificate = 'file://'.realpath('C:/tcpdf.crt');