我正在使用John Conde编写的auth.net XML类http://www.johnconde.net/blog/tutorial-integrate-authorize-net-xml-api-universal-php-class/。它有两行。
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文件或我需要创建它的信息。这种替代方案是否同样安全?
答案 0 :(得分:1)
这种替代方案是否同样安全?
不,禁用CURLOPT_SSL_VERIFYHOST
或CURLOPT_SSL_VERIFYPEER
会导致可能的MITM攻击(请参阅this answer)。
我可能无法获取.pem文件或我需要创建的信息
创建它所需的信息最终是您的判断,选择您想要信任的CA.浏览器和操作系统倾向于为您预先选择。卷曲comes with a convenient script and CA bundle using the Firefox CA selection(此选择会偶尔更新一次)。某些Linux发行版还提供了您可以使用的默认CA捆绑包文件。