Как программно установить сертификат CA (для конфигурации EAP WiFi) в Android?

Моя цель: Создайте конфигурацию EAP WiFi, включая сертификат CA, в Android программно.

Проблема: Как программно установить сертификат CA (а затем указать этот сертификат в конфигурации EAP WiFi)?

Я уже нашел очень полезную ссылку, которая позволяет мне создавать и сохранять конфигурации EAP WiFi здесь: Как программно создавать и считывать конфигурации WEP / EAP WiFi в Android?

Однако это предполагает, что вы уже установили сертификат CA на устройство. Я хочу установить сертификат в своем приложении - либо из ресурсов в приложении, либо отправленный с сервера.

Возможно ли такое? (В этом случае рутирование невозможно.) Если да, то как?

Дополнительная информация ...

Я также нашел способ добавить сертификат в хранилище ключей: https://stackoverflow.com/a/4490543/1172101

Однако это используется специально для создания защищенного сокета и подключения через HTTPS. Я хочу использовать сертификат для WiFi.


К сожалению, мне еще предстоит найти способ установить сертификат CA программно - из приложения.

Однако можно установить сертификат через веб-браузер в Android. Таким образом, решение (на данный момент) состоит в следующем: Запустите намерение открыть URL-адрес в веб-браузере, который ведет непосредственно к сертификату CA.

Это работает, но есть некоторые проблемы:

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

Это приводит к нескольким вопросам:

  • Есть ли способ в моем приложении принудительно указать имя сертификата, который пользователь устанавливает через браузер?
  • Есть ли способ узнать, когда установка сертификата завершена, а затем снова переключить фокус на мое приложение?

Просто дайте мне знать, если вам нужны какие-либо пояснения.

7
задан Community 23 May 2017 в 11:53
поделиться