Во время согласования TLS клиенты отправляют на сервер список поддерживаемых шифров, сервер выбирает один, и начинается шифрование. Я хочу изменить этот шифрованный список, отправленный на сервер Android, когда я использую HttpsURLConnection
для связи.
Я знаю, что я могу использовать setSSLSocketFactory
в объекте HttpsURLConnection
, чтобы установить его для использования SSLSocketFactory
. Это полезно, когда я хочу изменить trustmanager и т.д., Который используется SSLSocket
, возвращаемым SSLSocketFactory
.
Я знаю, что в целом этот список ciphersuite можно редактировать с помощью объекта SSLParameters
и передавать его объектам SSLSocket
или SSLEngine
, используя методы, которые они предоставляют.
НО SSLSocketFactory
, похоже, не раскрывает такие методы!
Я не могу найти способ изменить SSLParameters
возвращаемых объектов SSLSocket
, созданных SSLSocketFactory
I, чтобы перейти к HttpsURLConnection
.
Что делать?
Я предполагаю, что это также относится к Java в целом, а не только для Android. Возможно, существует способ OO (например, продлить SSLSocketFactory
и предоставить это HttpsURLConnection
?)