Повторное использование и кэширование HTTPS SSL для Android

#java #android #ssl #https #reusability

#java #Android #ssl #https #возможность повторного использования

Вопрос:

Я знаю, что об этом спрашивали несколько раз. Я перепробовал их все, но ни один из них не работает так, как я хочу. Я повторно опрашиваю веб-сервис с интервалом в 30 секунд. Веб-сервис основан на HTTPS / SSL. Я хочу удалить накладные расходы на SSL-квитирование при каждом вызове веб-сервиса (повторное использование SSL). Как я могу этого добиться?

Я посмотрел SSLCertificateSocketFactory и SSLSessionCache , похоже, нашел ответ. Я могу получить SSLSocket экземпляр, вызвав

 SSLSocketFactory sockFactory = SSLCertificateSocketFactory.getHttpSocketFactory(TIMEOUT, sslSession);
  

Однако я не могу найти способ установить мое хранилище ключей и пароль для этой фабрики сокетов. Я думаю, вы можете установить хранилище ключей и пароль только через SSLSocketFactory конструктор.

Итак, мои 2 проблемы: 1) Требуется повторное использование SSL 2) Необходимо использовать мое хранилище ключей для приема сертификатов с сервера.

Спасибо

Комментарии:

1. Рассматривали ли вы возможность постоянного поддержания соединения с сервером? Накладные расходы, требования к обработке и энергопотребление при установлении соединения могут не стоить того, если вы делаете это каждые 30 секунд.

2. спасибо за мысль, что мне нужно, чтобы это был каждый отдельный веб-сервис

3. Объединение сеансов SSL должно быть автоматическим. Вы уверены, что не получаете его? SSL, но сеансы могут истекать раньше, чем через 30 секунд.

4. EJP — я использовал wireshark для мониторинга сетевого трафика и, к сожалению, обнаружил, что даже с интервалом в 10 секунд рукопожатия выполняются каждый раз.