我正在使用 Windows Server 2008 R2(带有 IIS)、PHP 5.6.0 和 cURL 7.36.0 来测试 PayPal 的 TLS 测试 URL:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://tlstest.paypal.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FAILONERROR, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSLVERSION, 6); // CURL_SSLVERSION_TLSv1_2
curl_setopt($ch, CURLOPT_CAINFO, dirname(__FILE__) . '\cacert.pem');
$result = curl_exec($ch);
curl_close($ch);
当我使用CURLOPT_CAINFO
and cacert.pem
from http://curl.haxx.se/docs/caextract.html它有效,我得到:
PayPal_Connection_OK
当我不使用时CURLOPT_CAINFO
我收到此错误:
SSL证书问题:无法获取本地颁发者证书
我试过这个:
- mmc
- 文件 > 添加/删除管理单元
- 证书(本地计算机)
- 受信任的根证书颁发机构 > 证书
- 所有任务 > 导入
- Select
cacert.pem
- 消息:“导入成功”
然而这没有什么区别,我仍然必须使用CURLOPT_CAINFO
让它发挥作用。
有什么方法可以在我们的 Windows 服务器上安装所有这些根证书,这样我就不必使用CURLOPT_CAINFO
and cacert.pem
我每次打电话..?