OpenShift быстро исправила уязвимость SSL «Poodle» примерно 16 октября 2014 года. С тех пор поставщик электронной коммерции, с которым я работаю, больше не может устанавливать безопасное соединение HTTPS с моим PHP-приложением OpenShift. Я подозреваю, что это, по крайней мере частично, потому что SSL3 больше не является доступным протоколом.
Ошибка, зарегистрированная в конце провайдера электронной коммерции:
javax.net.ssl.SSLException
java.lang.RuntimeException: Could not generate DH keypair
Вот что я попробовал и обнаружил до сих пор:
Инструмент онлайн-тестирования SSL на https://www.ssllabs.com/ssltest/ означает, что мой сертификат SSL установлен правильно (установлен через OpenShift WebConsole) и получает оценку «А». HTTPS работает нормально при подключении к моему приложению OpenShift PHP в обычном веб-браузере. В общем SSL сертификат & Сама установка кажется в порядке.
В качестве теста я попытался использовать общий SSL-сертификат OpenShift вместо своего собственного, с тем же результатом.
Платформа удаленной электронной коммерции, которая пытается подключиться к моему PHP-приложению OpenShift через HTTPS, использует Java 7. Техническая поддержка считает, что проблема заключается в том, что их система Java 7 не поддерживает длины ключей шифрования> 1024 бит. К сожалению, в настоящее время они не могут обновить свою систему до Java 8, поэтому их руки немного связаны.
Анализ ssllabs моего SSL-сертификата включает в себя полезный тест имитации рукопожатия с различными клиентами. Это фактически показывает симуляцию Java 7, соединяющую OK с использованием TLS1.0, однако симуляция Java 6 завершается неудачно с ошибкой «Клиент не поддерживает параметры DH> 1024 бит», что примерно соответствует тому, что техническая поддержка электронной коммерции сообщает об их Java 7 основанная система.
Как я могу решить это? Чтобы немного сузить вопрос:
Есть ли простая настройка, которую мой провайдер электронной коммерции мог бы в конце концов включить, чтобы HTTPS-подключения к приложениям OpenShift не требовали обновления Java или внесения значительных изменений, которые могли бы повлиять на других? например Возможность принимать параметры DH> 1024 бит.
Есть ли что-нибудь, что я могу настроить на своем конце (возможно, настройку OpenShift или PHP), чтобы позволить их системе на базе Java 7 успешно установить соединение HTTPS с моим приложением OpenShift? например Опция, инструктирующая OpenShift предоставить параметры DH <= 1024 бита
Перезапуск приложения должен решить проблему, так как он подберет последний JDK, который должен содержать последние исправления для этой проблемы.
https://bugzilla.redhat.com/show_bug.cgi?id=1035818
https://bugzilla.redhat.com/show_bug.cgi?id=1080125
Других решений пока нет …