2015-05-26 4 views
1

Я знаю, что что-то подобное уже было предложено здесь, но я думаю, что моя проблема другая. Я пытаюсь сделать запрос curl на веб-сайт SSL propper (его не подписано самостоятельно). Я могу легко настроить параметры и даже импортировать пакет сертификатов CA в нужное место. Все отлично и хорошо, что я хотел бы надеяться, но я все еще получаю:не удалось получить сертификат локального эмитента даже с установленным комплектом

SSL certificate problem: unable to get local issuer certificate 

Я посмотрел вокруг здесь и на Google и не могу показаться, чтобы решить эту проблему. Вот мой локон установка:

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36'); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,2); 
//curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_AUTOREFERER, true); 
curl_setopt($ch, CURLOPT_VERBOSE, true); 
curl_setopt($ch, CURLOPT_CERTINFO, true); 
curl_setopt($ch, CURLOPT_COOKIEJAR, getcwd()."/cookie_jar"); 
curl_setopt($ch, CURLOPT_HEADER, true); 

$result = curl_exec($ch); 

Edit2: Вот подробный вывод по запросу:

* Adding handle: conn: 0x3472770 
* Adding handle: send: 0 
* Adding handle: recv: 0 
* Curl_addHandleToPipeline: length: 1 
* - Conn 0 (0x3472770) send_pipe: 1, recv_pipe: 0 
* About to connect() to www.caixagest.pt port 443 (#0) 
* Trying 195.234.134.196... 
* Connected to www.caixagest.pt (195.234.134.196) port 443 (#0) 
* error setting certificate verify locations: 
    CAfile: C:\Winginx\ssl\certs\ca-bundle-old.crt 
    CApath: none 
* Closing connection 0 


error setting certificate verify locations: 
    CAfile: C:\Winginx\ssl\certs\ca-bundle-old.crt 
    CApath: none 
+0

Это определенно не доверяет сертификату, который ему предоставляется. Разве это не разрешено http://stackoverflow.com/questions/22973701/ssl-errors-using-mailchimps-api/29649024#29649024? – ahoffner

ответ

1

Трудно сказать, не имея URL, то локон версии и опции компиляции и содержимое ЦС но наиболее распространенными случаями являются:

  • Сервер забыл включить важные сертификаты цепи. Посмотрите на «проблемы с цепочкой» и «дополнительную загрузку» при анализе с помощью SSLLabs.
  • Различные пути доверия с OpenSSL бэкэндом локон. См. https://stackoverflow.com/a/30068150/3081018.
  • Старая версия curl, которая не поддерживает SNI, поэтому сервер отправляет неверный сертификат.

Более подробная справка может быть доступна с дополнительной информацией от вас.

+0

Вот URL: https://www.caixagest.pt/Default.aspx php версия 5.6.3 работает на xampp, а комплект CA - это последняя версия с официального сайта. – ddrjm

+0

Сам сайт отлично выглядит и цепочка сертификатов. Можете ли вы добавить информацию об отладке из CURLOPT_VERBOSE в вопрос? И вы не оказались за перехватом SSL-брандмауэром? –

+0

Как мне это сделать (показывая подробный вывод)? Я совершенно новый, чтобы завивать на SSL. Дома я за бидефендером Internet Security, а сертификат CA показан от BitDefender. однако, на работе результат тот же. – ddrjm

Смежные вопросы