Пытаюсь подключиться к ЕСБД по SSL. Использую CURL, не могу понять. У меня только один файл pkcs12_sign.p12.
Не знаю как подключиться и отправить XML.
Вот код.
session_start();
$session_id = session_id();
$xml = '<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetClientsByRNN xmlns="https://icweb/IICWebService">
<aSessionID>'.$session_id.'</aSessionID>
<aTPRN>600920017981</aTPRN>
</GetClientsByRNN>
</soap:Body>
</soap:Envelope>';
$tuCurl = curl_init();
curl_setopt($tuCurl, CURLOPT_URL, "https://89.218.45.212/IICWebService.asmx/GetClientByRNN");
curl_setopt($tuCurl, CURLOPT_PORT , 443);
curl_setopt($tuCurl, CURLOPT_VERBOSE, 0);
curl_setopt($tuCurl, CURLOPT_SSLVERSION, 3);
curl_setopt($tuCurl, CURLOPT_HEADER, false);
curl_setopt($tuCurl, CURLOPT_SSL_VERIFYPEER, TRUE);
curl_setopt($tuCurl, CURLOPT_SSL_VERIFYHOST, TRUE);
curl_setopt($tuCurl, CURLOPT_SSLCERT, '/include/ssl/pkcs12_sign.p12');
curl_setopt($tuCurl, CURLOPT_SSLCERTPASSWD, 'mbftto');
curl_setopt($tuCurl, CURLOPT_POST, 1);
curl_setopt($tuCurl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($tuCurl, CURLOPT_POSTFIELDS, $xml);
curl_setopt($tuCurl, CURLOPT_HTTPHEADER, array("Content-Type: text/xml","SOAPAction: \"/soap/action/query\"", "Content-length: ".strlen($xml)));
$tuData = curl_exec($tuCurl);
if(!curl_errno($tuCurl)){
$info = curl_getinfo($tuCurl);
echo 'Took ' . $info['total_time'] . ' seconds to send a request to ' . $info['url'];
} else {
echo 'Curl error: ' . curl_error($tuCurl);
}
curl_close($tuCurl);
echo $tuData;
Выводится ошибка
Curl error: Peer certificate cannot be authenticated with known CA certificates
Уже три дня мучаюсь... Помогите пожалуйста?! ((