Я использую z-push-contrib для получения электронной почты с сервера IMAP (также меня управляет).IMAP через PHP:/ssl и/tls выбрать другую версию TLS
Если я использую imap_open
вариант /ssl
и подключитесь к порту 993, используется TLS 1.2.
Если я использую /tls
и подключаюсь к порту 143 с использованием STARTTLS, TLS 1.0 и используется другой шифра.
SMTP ведет себя так же (STARTTLS использует только TLS 1.0)
Если я использую OpenSSL из командной строки, TLS 1.2 используется:
Это не имеет значения, если подключить к порту 993 или до 143 с STARTTLS, я всегда получаю соединение TLS 1.2 с использованием того же сильного современного шифра.
Является ли это ошибкой в реализации Openssl PHP?
Откуда вы знаете, какая версия используется? Вы сделали захват пакетов, чтобы посмотреть на ClientHello или вы проверили полученный протокол после рукопожатия? В последнем случае это может быть просто сервер, который настроен только для TLS 1.0. –
Я проверил журналы сервера и заголовки электронной почты. Как я писал, если я подключаюсь напрямую через Openssl, TLV1.2 используется, как ожидалось. Сервер настроен на использование TLS1, TLS1.1 и TLS1.2 – basbebe
Так как это тот же OpenSSL на стороне клиента для всех тестов, это должно быть либо приложение, использующее его, которое ограничивает версию протокола или сервер. Это не ошибка в самой OpenSSL.Является ли этот сервер общедоступным, чтобы можно было запустить некоторые тесты? –