Я пытаюсь заставить 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 использует Apache HTTP Client (httpclient-4.5.7) под крышками. Есть ли статический способ подключения клиента Apache с помощью собственного Socket, SocketFactory или SSLContext? Тот, который не требует доступа к объекту HTTPClient (который также не предоставляется).