Назад | Перейти на главную страницу

cURL ищет CA в неправильном месте

В Redhat Linux в сценарии PHP я устанавливаю параметры cURL как таковые:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, True);
curl_setopt($ch, CURLOPT_CAINFO, '/home/andrew/share/cacert.pem');

Тем не менее, я получаю это исключение при попытке отправить данные

(curl error: 77) error setting certificate verify locations:
CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none

Почему он ищет файл CA в /etc/pki/tls/certs/ca-bundle.crt? Я не знаю, откуда эта папка, потому что я ее нигде не устанавливаю.

Разве он не должен искать в указанном мной месте, /home/andrew/share/cacert.pem? У меня нет разрешения на запись /etc/ так что просто скопировать файл невозможно. Мне не хватает другого варианта завитка, который я должен использовать?

(Это на виртуальном хостинге - возможно ли, что он запрещает мне устанавливать другой путь для файла CA?)

Попробуйте заменить CURLOPT_CAINFO на CURLOPT_CAPATH.

А также взгляните на опцию SSLCERT.