Я выполняю базовую аутентификацию 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: