Изменение шифрования для базовой HTTP-аутентификации на Android - PullRequest
0 голосов
/ 16 августа 2011

Я выполняю базовую аутентификацию HTTP в моем приложении Android.Однако недавно у меня возникли проблемы с аутентификацией пользователей из-за следующих изменений, сделанных на моем сервере:

"... SSL-сертификатов с длиной ключа 1024 бит или меньше будет недостаточно для безопасности после 31 декабря, 2010. В соответствии с этими рекомендациями большинство поставщиков сертификатов SSL (включая GeoTrust) начали выпускать эти новые 2048-битные ключи. "

Была дана рекомендация обновить мою среду выполнения Java.Тем не менее, учитывая, как работает мое приложение на Android, я не верю, что это что-то сделает.Поэтому мой вопрос таков:

Как изменить следующий код для использования 2048-битного шифрования?Это возможно?У кого-нибудь есть рекомендации?Я очень ценю это.Спасибо!

DefaultHttpClient client = new DefaultHttpClient();
client.getParams().setParameter("Content-type",
        "application/xml");
client.getCredentialsProvider().setCredentials(
        new AuthScope(Constants.SERVER_HOST,
                Constants.SERVER_PORT,
                Constants.SERVER_REALM),
        new UsernamePasswordCredentials(username.getText()
                .toString(), password.getText().toString()));

String getURL = Constants.SERVER_URL;
HttpGet get = new HttpGet(getURL);
responseGet = client.execute(get);

Ошибки трассировки стека:

javax.net.ssl.SSLException: Not trusted server certificate
Caused by: java.security.cert.CertificateException:
Caused by: java.security.cert.CertPathValidatorException: TrustAnchor for CertPath not     found.java.security.cert.CertPathValidatorException:

1 Ответ

2 голосов
/ 16 августа 2011

Ты не. Этот код не имеет ничего общего с шифрованием. Администратор сервера отвечает за его обновление для использования более длинного ключа (2048 бит). Вам просто нужно проверить, что ваше приложение все еще работает после обновления (кажется, что нет). в чем именно проблема?: Не можете подключиться больше? Какую ошибку (трассировку стека) вы получаете?

...