【发布时间】:2013-01-03 13:16:45
【问题描述】:
我想学习 OpenSSL,但当我尝试使用此代码时却收到了 boolean false:
$config = array('private_key_bits' => 512);
$privKey = openssl_pkey_new($config);
var_dump($privKey);
OpenSSL 扩展已在我的服务器上激活。我错过了什么吗?
【问题讨论】:
我想学习 OpenSSL,但当我尝试使用此代码时却收到了 boolean false:
$config = array('private_key_bits' => 512);
$privKey = openssl_pkey_new($config);
var_dump($privKey);
OpenSSL 扩展已在我的服务器上激活。我错过了什么吗?
【问题讨论】:
在你的 openssl_* 函数被调用后使用openssl_error_string():
while($e = openssl_error_string() ) {
print_r($e."\n");
}
在我的 Windows 上它输出:
error:02001003:system library:fopen:No such process
error:2006D080:BIO routines:BIO_new_file:no such file
error:0E064002:configuration file routines:CONF_load:system lib
error:02001003:system library:fopen:No such process
error:2006D080:BIO routines:BIO_new_file:no such file
error:0E064002:configuration file routines:CONF_load:system lib
查看此函数openssl_pkey_new()的第一个注释:
注意:您需要为此功能安装有效的 openssl.cnf 才能正确操作。请参阅安装部分下的说明 更多信息。
【讨论】: