我想使用SSL客戶端身份驗證和SSL緩存建立與https服務器的連接。據我可以告訴你只能有一個或另一個,我沒有看到爲什麼會這樣。Android上的SSLCaching和Keystore的HttpClient
目前我正在使用一個DefaultHttpClient,它接受一個客戶端連接管理器(ClientConnectionManager),該客戶端使用裝有pkcs12 KeyStore的SSLSocketFactory進行設置,以便我可以執行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。
我錯過了什麼,或者這真的不可能嗎?
感謝