0

我想学习 OpenSSL,但我只是boolean false在尝试使用此代码时得到:

$config = array('private_key_bits' => 512);
$privKey = openssl_pkey_new($config);

var_dump($privKey);

OpenSSL 扩展在我的服务器上被激活。我错过了什么吗?

4

1 回答 1

0

在调用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 才能使此功能正常运行。有关详细信息,请参阅安装部分下的注释。

于 2013-01-20T08:15:19.837 回答