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