我对此很新。为什么openssl_pkey_new()
返回false?
我正在使用XAMPP,Apahce\bin
目录下有一个OpenSSL。
我做的是什么明显的初学者错误?也许这是SSL配置的问题?
我的目标是将两个密钥写入两个文件。
更新 :根据建议,我使用了openssl_error_string()
,并说error:02001003:system library:fopen:No such process
。听起来好像OpenSSL没有运行或者不在路径中?有什么想法吗?
更新 :我将c:\xampp\php
放入Windows路径,以便找到libeay32.dll
并重新启动Apache。
现在我得到error:2006D080:BIO routines:BIO_new_file:no such file
。有什么想法吗?
答案 0 :(得分:17)
使用openssl_error_string()
找出openssl_pkey_new()
返回false(或任何其他OpenSSL错误)的原因。
在您的最新更新后,OpenSSL似乎找不到openssl.cnf
文件,described here。
答案 1 :(得分:1)
对于我在 Windows 10 上使用 XAMPP 的情况:
extension=php_openssl.dll
(但我的意思是没有它也能工作)openssl_pkey_new()
生成了一些 RESOURCE
而不是 false