【问题标题】:Alternative for using CURLOPT_SSL_VERIFYHOST, 2使用 CURLOPT_SSL_VERIFYHOST 的替代方法,2
【发布时间】:2013-02-09 09:34:26
【问题描述】:

我正在使用 John Conde http://www.johnconde.net/blog/tutorial-integrate-authorize-net-xml-api-universal-php-class/ 编写的 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 文件,或者我需要创建它的信息。这种替代方案是否同样安全?

【问题讨论】:

    标签: php ssl curl authorize.net


    【解决方案1】:

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

    不,禁用 CURLOPT_SSL_VERIFYHOSTCURLOPT_SSL_VERIFYPEER 将允许可能的 MITM 攻击(请参阅 this answer)。

    我可能无法获取 .pem 文件,或者我需要创建它的信息

    创建它所需的信息最终是来自您的判断,选择您想要信任的 CA。浏览器和操作系统往往会为您进行预选。卷曲comes with a convenient script and CA bundle using the Firefox CA selection(此选择不时更新)。一些 Linux 发行版还提供了一个默认的 CA 捆绑文件,您可以使用它。

    【讨论】:

    • 感谢您提供此信息。我在做研究时完全误解了。虽然我不得不使用我现有的证书制作一个 .pem 文件。既然您告诉了我这一点,我将使用 Firefox CA 捆绑包。再次感谢您的信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-11
    • 1970-01-01
    • 1970-01-01
    • 2013-08-13
    相关资源
    最近更新 更多