WebView and SSLSocket



我有自定义SSLSoсket,非常适合HttpsUrlConnectionOkHttp。如何与我的插座WebView交朋友?

        connection = (HttpsURLConnection) urlConnection.openConnection();
        connection.setSSLSocketFactory(new OpenSSLSocketFactoryImpl());
        connection.setInstanceFollowRedirects(false);
        connection.setDoInput(true);
        connection.setDoOutput(isPostRequest(method));
        connection.setRequestMethod(method);

WebView 不使用 SSLSocket。但是,它确实使用当前安装的X509TrustManager(通过优先级最高的TrustManagerFactory获得)。因此,如果您对 SSLSocket/SSLSocketFactory 的自定义仅涉及使用自定义 X509TrustManager,那么如果您将自己的 TrustManagerFactory 作为最高优先级实现,则可以使 WebView 使用该自定义 X509TrustManager。对于任何其他自定义(例如,启用的密码套件的不同列表),您就不走运了。

最新更新