веб-сервисы — PHP SOAP Communication Используя TLS 1.2

Мы интегрировали Веб-сервис UPS на нашем сайте. недавно мы получили уведомление от UPS:

Начиная с 26 января 2016 года, среда тестирования ИБП потребует
Протокол безопасности TLS 1.2, и будет доступен для вашей системы
тестирование.

Начиная с 31 мая 2016 года, UPS будет требовать протокол безопасности TLS 1.2
в производстве. После этой даты любые запросы на передачу
ИБП, использующий более старые протоколы (TLS 1.1 или более ранние версии), не будет работать

Мой вопрос:

Есть ли способ общаться PHP SOAP с использованием TLS? Я уже много гуглил, но пока не нашел решения.

Пожалуйста, предложите

2

Решение

Я тоже встречался с этой проблемой. Я использую это для принудительной связи TLS.

$mode = array
(
'soap_version' => 'SOAP_1_1',  // use soap 1.1 client
'trace' => 1,
'stream_context' => stream_context_create(array(
'ssl' => array(
'crypto_method' =>  STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT,
)
))
);

// initialize soap client
$client = new SoapClient($this->wsdl, $mode);

Но у меня всегда есть проблема (в моей среде разработки) с MAMP, которая включает в себя версию openssl без поддержки TLS 1.2.

7

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

Наконец-то я получил решение этой проблемы. Требуется OpenSSL> 1.0.1 или
NSS> 3.15, и в моем случае наш сервер поддерживает версию SSL NSS / 3.19.1
Основной ECC, поэтому нет необходимости менять код.

1

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