Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > cURL проблемы с сертивикатом


Автор: walik 24.6.2013, 13:10
Пытаюсь отправить запрос используя cURL:

Код

$addr = curl_init();
            
curl_setopt($addr, CURLOPT_URL, $this->url);
            
curl_setopt($addr, CURLOPT_VERBOSE, 1);
        
curl_setopt($addr, CURLOPT_RETURNTRANSFER, 1);
        
curl_setopt($addr, CURLOPT_SSL_VERIFYPEER, false);
        
curl_setopt($addr, CURLOPT_SSL_VERIFYHOST, false);
        
curl_setopt($addr, CURLOPT_CAINFO, '/home/site.com/site.com/ssl/cacert.pem');
        
         
        
curl_setopt($addr, CURLOPT_SSLCERT, '/home/site.com/site.com/ssl/key.pem');
        
curl_setopt($addr, CURLOPT_SSLCERTPASSWD, 'password');
        
curl_setopt($addr, CURLOPT_HEADER, 1);
        
curl_setopt($addr, CURLOPT_POST, TRUE);
        
curl_setopt($addr, CURLOPT_POSTFIELDS, $postdata);
            
$response = curl_exec($addr);
            
var_dump($response);
echo curl_error($addr);


Выдает ошибку: unable to use client certificate (no key found or wrong pass phrase?)

Пароль верный.

Читал что для cURL нужно полный путь указывать к файлам,  вот в примере я полный путь и указываю.  Путь верный, к примеру readfile, is_file находят файлы нормально без проблем.

Уже как только и не пробовал эти пути указывать, ничего не выходит.  Может я что то упускаю, кто то сталкивался с подобным ?

Автор: walik 24.6.2013, 14:37
Все проблему решил.

Файл key.pem создавался таким образом:
openssl pkcs12 -in my_pfx.pfx -nocerts -out key.pem

Пересоздал его, но уже таким образом:
openssl pkcs12 -in my_pfx.pfx -out key.pem -clcerts

И вроде заработало нормально.

Я с такими вещами впервые работаю, так что в чем была проблема и какова разница этих двух строк пока что не знаю))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)