window环境下使用PHP OpenSSL扩展函数返回false的原因


window环境下使用PHP OpenSSL扩展函数返回false的原因(openssl_pkey_new)

使用的开发环境是PHPstudy ,在使用OpenSSL的函数openssl_pkey_new()时,始终返回false,检查了环境,OpenSSL扩展已经开启,代码如下:

$config = array( 'private_key_bits' => 2048, ); $res = openssl_pkey_new($config);

$res返回false的时候,检查发现,是window系统缺少了openssl环境变量,解决方法如下:

$opensslConfigPath = "D:/phpStudy/Apache/conf/openssl.cnf"; //apache路径下的openssl.conf文件路径 $config = array( 'private_key_bits' => 2048, ); $res = openssl_pkey_new($config); if(!$res) { $config['config'] = $opensslConfigPath; $res = openssl_pkey_new($config); }

修改之后运行,返回正常。

PHP openssl_pkey_export 无法生成私钥,求助!

$res = openssl_pkey_new($configargs);由于这一步传入了$configargs参数,所以

openssl_pkey_export($res, $privkey); 这一步也需要传入这个参数,

即,获取private key需要通过下面的方法得到:
openssl_pkey_export($res, $privkey, null, $configargs);


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM