Проблемы с httpclient и самоподписанными сертификатами - PullRequest
2 голосов
/ 25 июня 2010

Я уверен, что это обсуждалось в этой группе, но я не смог найти эту ветку, так что терпите ее или, если возможно, объедините ее с оригиналом.

Я использую httpclient для своего приложения для Android, и у меня есть локальный сайт, на котором есть несколько страниц https. Поскольку httpclient по умолчанию не разрешает самозаверяющие сертификаты, я использую «EasySSLFactory» и «EasyX509TrustManager», которые упоминаются в httpclient. документация.

client = new DefaultHttpClient(); client.getConnectionManager().getSchemeRegistry().register(new Scheme("https", new EasySSLSocketFactory(), 443));

Проблема в том, что если я использую эту SSLFactory в своем приложении для Android, я получаю правильный ответ со страниц https моего сайта, но я получаю «Ошибка рукопожатия SSL: ошибка ввода-вывода во время системного вызова, Неизвестная ошибка: 0» для сайтов такие как "gmail.com", "ymail.com". Если я не использую «EasySSLSocketFactory» Я получаю ответ от этих сайтов, но получаю исключение для моего сайта.

Самое смешное, что этот код извлечения страниц прекрасно работает как отдельное Java-приложение.

В чем может быть проблема. Пожалуйста, помогите мне с этим.

Спасибо и всего наилучшего

1 Ответ

0 голосов
/ 28 июня 2010

Пока решено, так как у меня был только один сертификат, я положил его в хранилище ключей эмулятора.Если у кого-то есть лучшее решение, пожалуйста, дайте мне знать.

...