Использование curl для попадания в WSDL, проблемы с сертификатами

Это, кажется, очень трудно найти, поэтому, пожалуйста, поправьте меня, если я поставил это в неправильном месте.

У меня есть сертификат p12 & Можно использовать его с моим браузером для подключения к службе WSDL и получить ответ XML. Я пытаюсь подключиться к тому же сервису, используя php cURL. Каждый пример, который я нахожу заставил меня разбить мой p12 на файлы cert и pem, которые все равно не работают. Это необходимо? Есть ли способ просто использовать p12? Следуя совету по этой ссылке, я разделил p12, мой код выглядит так:

$local_cert = 'file.crt.pem';
$local_key = 'file.key.pem';
$passphrase = "p12_passphrase";
$url='https://url.for.the?wsdl';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_SSLCERT, $local_cert);
curl_setopt($ch, CURLOPT_SSLKEY, $local_key);
curl_setopt($ch, CURLOPT_SSLCERTPASSWD, $passphrase);
curl_setopt($ch, CURLOPT_SSLKEYPASSWD, $passphrase);
$ret = curl_exec($ch);
print_r($ret);

Это ничего не возвращает. Я не понимаю, это работает из браузера. Должен ли я использовать мыло вместо этого? Каков мой следующий шаг в выяснении проблемы?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]