I my app Я хочу использовать https-соединение с указанным пользователем сервером, который использует самозаверяющий сертификат. То, что я собрал уже есть, чтоКак программно добавить сертификаты в доверительный магазин и использовать это также для проверки подлинности сервера
- самостоятельно подписанные сертификаты отвергнута (как и ожидалось)
- андроид хранилище ключей/доверенное хранилище не используется для приложений, поэтому приложения должны создавать и использовать свои собственные доверенных сертификатов,
- есть «Keytool» в JDK для создания доверенных сертификатов, которые могут быть поставлены в приложение в качестве ресурса, который, однако, не является решением, так как я не знаю, сервер (и его сертификат заранее)
с https-сервер указан пользователем, я не знаю сертификата сервера befo и, следовательно, хотите добавить сертификат сервера программно в доверенное хранилище приложения (показывая сертификат пользователю и попросите его принять его). После добавления в доверительный магазин приложение должно использовать этот доверенный сервер для аутентификации сервера.
Я НЕ хочу просто принимать каждый самоподписанный сертификат без проверки пользователем отпечатка пальца, как предлагают некоторые примеры в Интернете.
Теперь проблема в том, что я совершенно не знаком с Java и Android, и я стараюсь понять внутреннюю работу AndroidHttpClient или DefaultHttpClient. У меня есть базовый HTTP, работающий в моем приложении, но не нашел никакого примера о том, как на самом деле ADD-сертификаты доверять в приложении по запросу по запросу пользователя.
Кто-нибудь знает, как достичь этого или знает рабочий пример, на который я могу смотреть?
Любые советы приветствуются. Благодарю.
EDIT: найдено решение в TrustManagerFactory.java class of K9 Mail. Я предлагаю взглянуть на него, если у вас есть тот же вопрос.
Я знаю, что это старый вопрос, но это именно то, что я ищу. Вы нашли решение? – nikmin
Вы нашли решение для этого @nikmin –
@machtnix: Как вы его достигли, используя класс TrustManagerFactory для почты k9. как вы упомянули. Не могли бы вы мне помочь ? –