0

我正在使用 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 文件或创建它所需的信息。这种替代方案是否同样安全?

4

1 回答 1

1

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

不,禁用CURLOPT_SSL_VERIFYHOSTCURLOPT_SSL_VERIFYPEER允许可能的 MITM 攻击(请参阅此答案)。

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

您创建它所需的信息最终是您的判断,选择您想要信任的 CA。浏览器和操作系统往往会为您进行预选。Curl带有一个方便的脚本和使用 Firefox CA 选项的 CA 包(此选项会不时更新)。一些 Linux 发行版还提供了一个您可以使用的默认 CA 捆绑文件。

于 2013-02-24T11:29:09.410 回答