在更新为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();
答案 0 :(得分:0)
您无法将密码套件添加到客户端。我建议使用像Qualys SSL Labs' SSL Server test这样的在线工具来检查服务器支持哪些密码套件。如果服务器不支持Android 5 supports的任何密码套件,我担心您无法从客户端做到这一点。