我在 Windows 机器上运行本地 XAMPP 服务器。
我正在尝试从该服务器通过 CURL 连接到 SSL 加密页面。
我确实遇到了以下错误:
SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
我意识到我可以简单地使用...禁用 SSL 验证
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
..但我真的不想这样做,这就是使用 SSL 的意义所在。
我在这里看到了几个答案,指向将 CURL 选项“CURLOPT_CAINFO”设置为可以在此处获取的 .pem 文件:http: //curl.haxx.se/ca/cacert.pem
curl_setopt($ch, CURLOPT_CAINFO, 'C:\xampp\cacert.pem' );
我确实将文件放在给定文件夹中,并在运行 curl_exec 之前运行上述命令。但我仍然得到与以前相同的错误。
我还尝试从我尝试连接的站点下载证书,但错误消息仍然相同。
PHP 可以访问 .pem 文件,例如使用 file_get_contents,因此它似乎不是文件访问/权限问题。
这个问题持续存在的原因可能是什么?
我在跑步:
- PHP版本:5.2.9
- cURL 信息:libcurl/7.16.0 OpenSSL/0.9.8i zlib/1.2.3