更新为HttpsURLConnection后,使用Android 5.0 lollipop登录到https网站时出现异常。 (它在android 4.4 kitkat中很好用)

05-08 02:18:12.277  32344-32482/com.soonoo.mobilecampus E/INFO﹕ javax.net.ssl.SSLHandshakeException: Handshake failed


我已经阅读了有关android 5.0更改的文章。 (http://developer.android.com/about/versions/android-5.0-changes.html#ssl

看来我应该添加服务器所需的一些密码套件。

谁能给我一些有关如何将密码套件添加到HttpsURLConnection的建议/代码吗?我尝试了以下答案,但对我没有用...
Which Cipher Suites to enable for SSL Socket?

我使用下面的代码进行连接:

        HttpsURLConnection con = (HttpsURLConnection) new URL(Sites.LOGIN_URL).openConnection();
        con.setRequestMethod("POST");
        con.setRequestProperty("Content-length", String.valueOf(loginQuery.length()));
        con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
        con.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0;Windows98;DigExt)");
        con.setDoOutput(true);
        con.setDoInput(true);

        DataOutputStream output = new DataOutputStream(con.getOutputStream());
        output.writeBytes(loginQuery);
        output.close();

最佳答案

您无法将密码套件添加到客户端。我建议使用Qualys SSL Labs' SSL Server test之类的在线工具来检查服务器支持哪些密码套件。如果服务器不支持Android 5 supports的任何密码套件,那么恐怕您在客户端上无能为力。

关于java - 如何将SSL密码套件添加到HttpsURLConnection,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30108737/

10-09 09:40