Я использую PSP, который недавно переключился на поддержку только TLS 1.2 (согласно PCI-DSS).
В приложении php7 я могу подключиться к их SOAP API. Однако после их обновления я получаю сообщение об ошибке SSL, указывающее, что их сервер не поддерживает мою версию TLS. Я запустил wireshark и могу подтвердить, что есть только client hell
o, поэтому server hello
, и это на TLS 1.0.
Я использую следующий код:
$this->soapClient = new SoapClient('some/wsdl'), [
'location' => 'https://endpoint.of.server',
'soap_version' => SOAP_1_1,
'stream_context' => stream_context_create([
'ssl' => [
'local_cert' => '/path/to/client.crt',
'crypto_method' => STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT,
],
])
]);
Однако этот код по-прежнему использует TLS 1.0, а не требуемый TLS 1.2.
Версия
OpenSSL 1.1.0h 27 Mar 2018
PHP 7.1.6-1~ubuntu16.04.1+deb.sury.org+1 (cli) ( NTS )
.