Как добавить наборы шифров SSL в HttpsURLConnection

У меня есть исключения при входе на веб-сайт https с использованием HttpsURLConnection после обновления до Android 5.0 lollipop. (Это хорошо работало в 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? Я попытался ответить ниже, но у меня не получилось... (Какие наборы шифров включить для 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();

person soonoo    schedule 07.05.2015    source источник


Ответы (1)


Вы не можете добавлять наборы шифров к клиенту. Я предлагаю использовать онлайн-инструмент, такой как тест SSL-сервера Qualys SSL Labs, чтобы проверить, какие наборы шифров поддерживаются сервером. Если сервер не поддерживает какой-либо набор шифров, который поддерживает Android 5, я боюсь, что вы мало что можете сделать со стороны клиента.

person Anand Bhat    schedule 08.05.2015
comment
Спасибо за ваш ответ. Существует только один набор шифров, который поддерживают android 5.0 и server. (TLS_RSA_WITH_RC4_128_MD5) То же исключение, однако все еще происходит. Ты знаешь почему? - person soonoo; 08.05.2015