Я хочу подключиться к серверу https с использованием аутентификации клиента SSL и кэширования SSL. Насколько я могу судить, вы можете иметь только одно или другое, и я не вижу причины, по которой это могло бы быть.
В настоящее время я использую DefaultHttpClient, который принимает ClientConnectionManager, который я настроил с помощью SSLSocketFactory, загруженной с хранилищем ключей pkcs12, чтобы я мог выполнить аутентификацию клиента SSL.
Я также обнаружил SSLCertificateSocketFactory.getHttpSocketFactory (), которому можно передать SSLSessionCache.
Затем я регистрирую фабрику сокетов
SchemeRegistry registry = new SchemeRegistry();
registry.register(new Scheme("https",socketFactory , port));
и использовать реестр для создания ClientConnectionManager, а затем HttpClient
ThreadSafeClientConnManager ccm = new ThreadSafeClientConnManager(httpParameters, registry);
httpClient = new DefaultHttpClient(ccm, httpParameters);
но я не знаю, как дать SSLSocketFactory SSLSessionCache или SSLCertificateSocketFactory хранилище ключей
Наконец, я рассмотрел использование AndroidHttpClient, который вы можете передать Контекст, который он будет использовать для SSLCaching, но я не могу найти способ получить AndroidHttpClient для использования моего ClientConnectionManager.
Я что-то упустил или это действительно невозможно?
Спасибо