Я пытаюсь настроить SSL (с возобновлением SSL) с помощью HttpsURLConnection
с моим собственным менеджером доверия.
Я могу выполнять только рукопожатия ssl и соединения. Нет возобновления SSL. Предыдущие сеансы никогда не используются повторно.
Я искал все, но не повезло. Все ответы относятся к HttpClient (это не вариант).
Моя настройка выглядит следующим образом:
-
Я создаю контекст SSL, который я храню для последующего использования.
-
Затем я создаю SSL Factory, используя этот контекст SSL, который я также сохраняю для его использования со всеми подключениями.
-
Я запускаю соединение, где все идет хорошо: Я получаю
sessionID
, выполняется полное рукопожатие, и соединение отправляется на сервер. - Через минуту я начинаю другое соединение. По какой-то странной причине это соединение не отправляет
sessionID
ранее. Я печатаю сеансSSLContext
- последний сеанс все еще существует и действителен. По какой-то причине это новое соединение не использует его, поэтому создается еще один сеанс и добавляется в кеш сеансов.
Я пробовал как версию Android 2.3, так и 4.1 на двух разных устройствах.
После многих результатов Google я даже попытался добавить Keep-Alive, как предлагали некоторые пользователи, а также другие вуду, которые не привели к разным результатам.
Кто-нибудь сталкивался с этим? Что-то мне не хватает?
Что может заставить мои подключения не использовать последний сеанс?
Спасибо заранее!