2015-02-20 4 views
1

У меня Android 4.1.2 устройство. Я пытаюсь загрузить файл с HTTPS и получить ошибку о недействительном сертификате.DownloadManager, как заменить HttpClient?

Хорошо, я создал пользовательский TrustManager, который пропускает эту ошибку.

Как указать, что DownloadManager использовал мой HttpClient с настраиваемым TrustManager?

+0

вместо TrustManager вы должны использовать версию HttpClient 4.3+ и посмотреть на этот ответ HTTP: // StackOverflow. com/questions/28196074/peer-not-authenticated-in-java/28210524 # 28210524 – EpicPandaForce

ответ

2

Реализация пользовательского «Dummy-TrustManager» - это простая, но немая идея, поскольку она разрушает безопасность SSL/TLS.

Вместо этого вам нужно доверять конкретному сертификату сервера, а не каждому (самоподписанному) сертификату в мире!

Существует полная тема в блоге Николай Еленков, который объясняет все, что нужно, в том числе образцы кода: Using a Custom Certificate Trust Store on Android

+0

Я не использую urlConnection. Вся работа выполняется DownloadManager. Я получил ошибку java.security.cert.CertPathValidatorException: Целевой якорь для пути сертификации не найден. FinalStatus = 194 – ilyamuromets

+0

DownloadManager - это системный сервис. Вы не можете запускать собственный код в этом контексте и не имеете возможности настраивать доверенные сертификаты. Следовательно, единственный шанс - установить систему ненадежных сертификатов через настройки безопасности. – Robert

Смежные вопросы