PHP 5.3中的默认CA证书位置

时间:2018-05-14 20:38:58

标签: php openssl

如何找到PHP 5.3使用的默认CA证书位置?在PHP 5.6及更高版本中,有一个函数<div id="container"> <div id="1" onclick="boxInc(this)">0</div> <div id="2" onClick="boxInc(this)">0</div> <div id="3" onClick="boxInc(this)" >0</div> <div id="4" onClick="boxInc(this)">0</div> <div id="5" onClick="boxInc(this)">0</div> <div id="6" onClick="boxInc(this)">0</div> </div>可以回答这个问题。但是PHP 5.3中的等价物是什么?

1 个答案:

答案 0 :(得分:1)

PHP 5.6开始,它将自动确定您的CA证书所在的位置。理想情况下,您应该更新到更新版本的PHP(7.1将是升级到的一个很好的目标)。

以下是特定RFC的链接,更深入地介绍了该主题,并解释了为什么以及如何在PHP中进行更改&gt; = 5.6:

对于PHP 5.6之前的任何内容,您需要手动指定它们(通过自己定位它们并手动指定它们或从像https://curl.haxx.se/ca/cacert.pem这样的源下载预打包集并将其添加到您的代码存储库中。 / p>

然后在您的代码中手动指定它,如下所示:

// Using cURL
curl_setopt($curl, CURLOPT_CAINFO, 'path/to/cafile');

// or using file_get_contents
$context = stream_context_create([
    'ssl' => [
        'verify_peer' => true,
        'cafile'      => 'path/to/cafile',
        'CN_match'    => '[domain-you-are-contecting-to]'
    ]
]);
file_get_contents($url, false, $context);