2015-09-16 2 views
1

Я использую сертификат PEM для аутентификации запросов WSDL.Не удалось загрузить внешний объект SOAP SSL

$cert = '/etc/.../cert.pem'; 
$client = new SoapClient('https://somesservice.com/service.asmx?WSDL', 
array("cache_wsdl" => WSDL_CACHE_NONE, 
"local_cert" => $cert)); 

Я получаю не удалось загрузить внешний объект ошибку. Если я пытаюсь получить от завитка WSDL

curl --key /etc/.../cert.key --cert /etc/.../cert.pem "https://somesservice.com/service.asmx?WSDL" 

это работает отлично

Edit: Или, может быть, мой PEM certifacte должен иметь закрытый ключ раздел?

ответ

0

мне пришлось скопировать содержимое файла ключа для моего сертификата PEM файл так правильный ответ: «ДА, PEM файл должен содержит секретный ключевой раздел "

0

Я думаю, вы должны отправить содержимое вашего сертификата, таких как:

$cert = '/etc/.../cert.pem'; 
$client = new SoapClient('https://somesservice.com/service.asmx?WSDL', 
    array(
     "cache_wsdl" => WSDL_CACHE_NONE, 
     "local_cert" => file_get_contents($cert), 
    ) 
); 
+0

Это не работает. – Marek

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