Я использую класс XML auth.net, написанный Джоном Конде, 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 или информацию, которую мне нужно создать. Будет ли эта альтернатива быть столь же безопасной?
Будет ли эта альтернатива быть столь же безопасной?
Нет, отключение CURLOPT_SSL_VERIFYHOST
или CURLOPT_SSL_VERIFYPEER
позволит допускать атаки MITM (см. Этот ответ ).
Возможно, я не смогу получить файл .pem или информацию, которую мне нужно создать.
Информация, которую вам нужно создать, в конечном счете – это вызов от вас, выбор того центра сертификации, которому вы хотите доверять. Браузеры и ОС стремятся сделать предварительный отбор для вас. Curl поставляется с удобным сценарием и комплектом CA с использованием выбора CA CA (этот выбор обновляется раз в то время). Некоторые дистрибутивы Linux также предоставляют файл пакета CA по умолчанию, который вы можете использовать.