我使用的是由http://www.johnconde.net/blog/tutorial-integrate-authorize-net-xml-api-universal-php-class/,John Conde编写的auth.net XML类。它有两行代码。
curl_setopt($this->ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($this->ch, CURLOPT_CAINFO, dirname(__FILE__) . '/ssl/cert.pem');我可以将其替换为
curl_easy_setopt(curl,CURLOPT_SSL_VERIFYPEER, 0);
curl_easy_setopt(curl,CURLOPT_CAINFO, NULL);
curl_easy_setopt(curl,CURLOPT_CAPATH, NULL);我可能无法获取.pem文件或创建该文件所需的信息。这种替代方案会同样安全吗?
发布于 2013-02-24 19:29:09
这个替代方案会同样安全吗?
不,禁用CURLOPT_SSL_VERIFYHOST或CURLOPT_SSL_VERIFYPEER将允许可能的MITM攻击(请参阅this answer)。
我可能无法获取.pem文件或创建该文件所需的信息
你创建它所需要的信息最终是你的判断电话,选择你想要信任的CA。浏览器和OSes往往会为你做一个预选。Curl comes with a convenient script and CA bundle using the Firefox CA selection (此选择每隔一段时间更新一次)。某些Linux发行版还提供了您可能能够使用的默认CA包文件。
https://stackoverflow.com/questions/15046678
复制相似问题