вызов php SOAP через SSL. Как объединить сертификат, ключ и сертификат CA вместе в запросе? - PullRequest
0 голосов
/ 28 ноября 2008

Итак, я пытаюсь использовать веб-сервис, используя что-то вроде этого: $ client = new SoapClient ("some.wsdl", массив ('local_cert' => "cert_key.pem"));

В прошлом я успешно делал это с другими веб-сервисами, которые требовали объединения сертификата и ключа в файл local_cert. Теперь я пытаюсь использовать службу, которая также использует доверенный центр сертификации. Это веб-сервис J2EE (Axis), который я использую, и каждый раз, когда я пытаюсь узнать мнение команды, размещающей этот сервис, мне говорят, что это проблема PHP ...

Ответ, который я получаю от вызова SoapClient, всегда не может подключиться. Раньше я получал ошибки SSL, но потом понял, что использую неправильный сертификат сервера, поэтому теперь я, по крайней мере, знаю, что я на правильном пути создания вызова SSL.

Чего я не знаю, так это как убедиться, что сертификат CA включен в этот файл local_cert. У меня есть сертификат сервера, ключ сертификата сервера и сертификат CA, но есть ли порядок, в котором я объединяю их в local_cert? Я что-то упустил полностью?

Заранее спасибо

1 Ответ

2 голосов
/ 15 декабря 2008

По моему опыту, ни IIS, ни Apache не требуют файла CA для проверки подлинности сертификата клиента для веб-служб. Вам нужно только указать файл PEM (и установить его в локальном хранилище на IIS). Я бы сказал, что ваш код выглядит хорошо. Когда по какой-либо причине аутентификации происходит сбой SSL, вы, как правило, получаете запрещенные сообщения. Ошибки, которые говорят, что вы не можете подключиться, могут быть связаны с тем, что порты не открыты, например, порт 443 для SSL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...