Я пытаюсь заставить AWS Secrets Manager работать на более старой платформе Java 7. К сожалению, пока что мы заблокированы на Java 7.
У меня проблема в том, что у Java 7 были некоторые проблемы с безопасностью с SSL, и большинство современных платформ Java используют более новые cipherSuites. Таким образом я получаю ошибку
javax.net.ssl.SSLHandshakeException: нет оборотного набора шифров
В других интерфейсах мне удалось решить проблему, выполнив .setEnabledCipherSuites в сокете SSL.
Проблема здесь в том, что клиент Secrets Manager не предоставляет ни сокета (AFAICT), ни SocketFactory. Я пытался создать новый SSLContext, обертывающий стандартный SSLContext, который предоставит настраиваемый SocketFactory, но создание и установка настраиваемого SSLContext оказалось довольно сложным.
Есть ли более простой способ сделать это, прежде чем я выдерну оставшуюся часть волос?
AWS Secrets Manager незаметно использует HTTP-клиент Apache (httpclient-4.5.7). Есть ли статический способ подключения клиента Apache к пользовательскому Socket, SocketFactory или SSLContext? Тот, который не требует доступа к объекту HTTPClient (который также не отображается).