Версия TLS php curl

Мне нужна интеграция веб-сайта моей компании с внешними веб-службами, для которых требуется Curl и TLS 1.2.

Я включил php_curl.dll и установил curl.cainfo с правильным путем к файлу pem на php.ini.

Теперь curl работает, но только с TLS 1.0, даже если для параметра CURLOPT_SSLVERSION установлено значение 6:

  $c = curl_init();
  curl_setopt($c, CURLOPT_URL, "https://www.howsmyssl.com/a/check");
  curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($c, CURLOPT_SSLVERSION, 6);

Я работаю над сервером WAMP с Apache 2.4, PHP 5.4.16 - MSVC9 - NTS - CGI / FastCGI.

Прокручивая страницу phpinfo (), я вижу в разделе "Переменные PHP"

_SERVER["SERVER_SOFTWARE"]  Apache/2.4.10 (Win32) OpenSSL/1.0.1j mod_fcgid/2.3.9
_SERVER["SSL_VERSION_LIBRARY"]  OpenSSL/1.0.1j

в то время как в разделе "openssl" я вижу

OpenSSL Library Version     OpenSSL 0.9.8y 5 Feb 2013
OpenSSL Header Version      OpenSSL 0.9.8y 5 Feb 2013 

и в разделе "завиток":

cURL support    enabled
cURL Information    7.30.0 
SSL Yes
SSL Version     OpenSSL/0.9.8y  

Может кто-нибудь сказать мне, почему PHP использует OpenSSL 1.0.1j и Curl 0.9.8y?

Как установить Curl на TLS 1.2 без обновления PHP?

Возможный дубликат TLS 1.2 не работает в cURL

Nigel Ren 26.06.2018 15:28

Подумайте, что соответствующая часть дубликата - «Принудительное использование TLS 1.1 и 1.2 поддерживается только с curl 7.34.0».

Nigel Ren 26.06.2018 15:29

почему ты не хочешь обновить свою версию php? он устарел с сентября 2015 года ... вам действительно стоит обновить его до более новой версии, которая исправит многие недостатки безопасности, а также повысит производительность. (то же самое для openssl и curl)

ᴄʀᴏᴢᴇᴛ 26.06.2018 15:38

Я знаю, что должен обновить версию PHP, и я сделаю это, но это долгая работа, потому что мне нужно найти идеальную конфигурацию php с конкретными расширениями, которые мне нужны, и я протестировал все сайты и приложения, размещенные на совместимость с новыми версиями php и расширения. А теперь мне нужен TLS 1.2 для скорейшей интеграции с некоторыми веб-сервисами.

S.S. 26.06.2018 16:13

В SERVER_SOFTWARE вы видите версию OpenSSL, используемую Apache (та, с которой он был скомпилирован), которая полностью отличается от того, что библиотека PHP / cURL внутри PHP использует для OpenSSL. Также все это ясно показывает, что пришло время обновить весь ваш стек. Тогда у вас будет гораздо меньше проблем, чем пытаться втиснуть новые функции TLS в старое программное обеспечение ...

Patrick Mevzek 26.06.2018 16:50

О да, я в курсе, спасибо. Я сделаю это. Но теперь мне нужно заставить его работать с этой версией. Что я могу делать? Обновить php_curl.dll или php_openssl.dll? Где найти скомпилированные библиотеки для WIN32?

S.S. 26.06.2018 17:23
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
6
2 320
0

Другие вопросы по теме