Java 带有SSLCaching和安卓密钥库的HttpClient
我想使用SSL客户端身份验证和SSL缓存连接到https服务器。据我所知,你只能有一个或另一个,我不明白为什么会这样 目前,我使用的是一个DefaultHttpClient,它接受一个ClientConnectionManager,我用一个加载了pkcs12密钥库的SSLSocketFactory设置了这个ClientConnectionManager,这样我就可以执行SSL客户端身份验证 我还找到了SSLCertificateSocketFactory.getHttpSocketFactory(),它可以传递一个SSLSessionCache 然后我注册了插座工厂Java 带有SSLCaching和安卓密钥库的HttpClient,java,android,ssl,httpclient,Java,Android,Ssl,Httpclient,我想使用SSL客户端身份验证和SSL缓存连接到https服务器。据我所知,你只能有一个或另一个,我不明白为什么会这样 目前,我使用的是一个DefaultHttpClient,它接受一个ClientConnectionManager,我用一个加载了pkcs12密钥库的SSLSocketFactory设置了这个ClientConnectionManager,这样我就可以执行SSL客户端身份验证 我还找到了SSLCertificateSocketFactory.getHttpSocketFactory
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
我是错过了什么还是真的不可能
感谢HttpClient内置了SSL会话缓存,据我所知,SSLSessionCache用于HttpsURLConnection
它没有很好的文档记录,是吗。HttpClient内置了SSL会话缓存,据我所知,SSLSessionCache用于HttpsURLConnection 它没有很好的记录,是吗