deadbyelpy
@deadbyelpy
веб-шмеб

Libcrul и https?

Сражаюсь не на жизнь, а на смерть за право запроса к https серверу используя libcurl (т.е. "с").
В си я заведомо слаб, только малый опыт с универа.
Суть: Пытаюсь выполнить запрос к https серверу используя libcurl.
В наличии скрипт на php который работает на отлично, выполняя задуманное. Однако нужно быстродействие.
Параметры php curl
CURLE_FTP_SSL_FAILED: 0
CURLOPT_SSL_VERIFYHOST: 0
CURLOPT_SSLVERSION: 3
CURLOPT_SSL_CIPHER_LIST: "RC4-SHA"
CURLOPT_CAINFO: "путь к сертификату склееного с ключом"
CURLOPT_SSLCERT: "путь к сертификату"
CURLOPT_HTTPHEADER: "Content-Type: text/xml; charset=UTF-8"

параметры curl на "с"
curl_easy_setopt(curl, CURLOPT_URL, "https:url");
curl_easy_setopt(curl, CURLOPT_HEADER, "Content-Type: text/xml; charset=UTF-8");      
curl_easy_setopt(curl,CURLOPT_SSLCERTTYPE,"PEM");
curl_easy_setopt(curl,CURLOPT_SSLCERT, "путь к сертификату склееного с ключом");

curl_easy_setopt(curl, CURLOPT_CAINFO,  "путь к сертификату");
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER , 0);
curl_easy_setopt(curl, CURLOPT_SSL_CIPHER_LIST, "RC4-SHA");
curl_easy_setopt(curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_SSLv3);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0);


Беда только в том что код на php отпрабатывает, а на си, ни в какую, или сегфалт или CURLE_SSL_CERTPROBLEM (58) или CURLE_SSL_CACERT (60), но я сомневаюсь что беда с сертификатами, т.к. они отлично отрабатывают в php случае.

И может ли кто то объяснить почему для php curl нужно было в запрос добавлять файл сертификата склеенного с ключом? никак не могу более емкого описания для CURLOPT_CAINFO и CURLOPT_SSLCERT чем на curl.haxx.se/libcurl/c/curl_easy_setopt.html

С https тоже не дружу. поэтому возможно что выглядит глупо.
  • Вопрос задан
  • 2991 просмотр
Пригласить эксперта
Ответы на вопрос 1
alekciy
@alekciy
Вёбных дел мастер
curl в данной задаче быстродействия не даст.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы