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