如何控制SSLContext范围

如果我使用以下代码,因为我想,例如,更改证书的validation方式。

trm =一些信任经理

SSLContext sc = SSLContext.getInstance("SSL"); sc.init(null, new TrustManager[] { trm }, null); HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); 

然后,这将为将来创建的所有https连接设置SSLContext,而不管是什么线程。 控制范围的最简洁方法是什么,以便我只为我想要的那些电话设置它?

您可以在要使用此信任库的实际连接对象上设置套接字工厂:

 HttpsURLConnection urlConnection = (HttpsURLConnection) url.openConnection(); urlConnection.setSSLSocketFactory(sc.getSocketFactory()); 

这样做而不是调用setDefaultSSLSocketFactory