2013-02-23 22 views
0

我使用的由约翰·孔德,http://www.johnconde.net/blog/tutorial-integrate-authorize-net-xml-api-universal-php-class/写的auth.net XML类。它有两条线。替代使用CURLOPT_SSL_VERIFYHOST,2

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文件或信息,我需要创建它。这个替代方案会一样安全吗?

回答

1

这个替代方案是否会同样安全?

否,停用CURLOPT_SSL_VERIFYHOSTCURLOPT_SSL_VERIFYPEER将允许可能的中间人攻击(见this answer)。

我可能无法得到.pem文件或信息,我需要创建它

你需要创建它最终从你的判断调用的信息,选择其中的CA你想要信任。浏览器和操作系统往往使预选为您服务。卷曲comes with a convenient script and CA bundle using the Firefox CA selection(这个选择是在一段时间更新一次)。一些Linux发行版还提供了你可以使用默认的CA包文件。

+0

感谢您的信息。我在做研究时完全被误解了。我虽然必须使用我现有的证书制作一个.pem文件。现在你告诉了我,我将使用Firefox CA软件包。再次感谢您的信息。 – Scott 2013-02-25 17:00:17