如果我使用下面的代码,因为我想,例如,更改证书的验证方式。
trm =某个信任管理器
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, new TrustManager[] { trm }, null);
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
然后,这将为将来建立的所有https连接设置SSLContext,而不管是什么线程。控制作用域的最干净的方法是什么,以便我只为那些我想要的调用设置作用域?
发布于 2011-05-17 11:43:07
您可以在希望使用此信任存储的实际连接对象上设置套接字工厂:
HttpsURLConnection urlConnection = (HttpsURLConnection) url.openConnection();
urlConnection.setSSLSocketFactory(sc.getSocketFactory());
这样做,而不是调用setDefaultSSLSocketFactory
。
https://stackoverflow.com/questions/6025525
复制相似问题