0

我正在尝试使用 PHP 的 openssl 函数创建一个密钥对,但我不断收到错误消息:

error:0E06D06C:configuration file routines:NCONF_get_string:no value

尽管将配置文件位置传递给它(它存在于该位置,我检查过):

$res = openssl_pkey_new( array('config' => '/etc/ssl/openssl.cnf' ));

//Print errors
while ($msg = openssl_error_string()) echo $msg . "d<br />\n";

甚至在其中创建符号链接/usr/local/ssl/openssl.cnf也无法解决问题。

当我检查phpinfo()它显示 SSL 已启用。

我究竟做错了什么?

4

1 回答 1

1

我遇到了完全相同的问题,并且可以按照上述问题中的步骤使其正常工作。基本上检查以下几点:

  • php openssl 扩展在您的 php.ini 中启用
  • openssl.cnf 的路径(如 phpinfo() 所示)有效且文件存在
  • 将 cnf 文件替换为来自其他来源的工作文件(如果您有一个或来自 php/extra 文件夹的一个,例如您的 xampp)

我的问题(看起来也是你的问题)是一个无效的 cnf 文件。由于我无法更正它,我不得不从其他来源获得一份。来自 openssl.org 的那个没有工作。我在我的 xampp/php/extra 文件夹中找到了一个工作。

于 2013-05-23T13:49:47.250 回答