Не удается установить сертификат ЦС на Android 11
В предварительной версии Android 11 при попытке установить сертификат CA возникла ошибка:
Intent intent = new Intent("android.credentials.INSTALL");
intent.putExtra("name", getCertName());
intent.putExtra("CERT", getCert());
startActivity(intent);
Сообщение об ошибке:
Не удается установить сертификаты ЦС
Сертификаты CA могут поставить под угрозу вашу конфиденциальность и должны быть установлены в настройках.
Я не нашел ничего об этом изменении в документации Android. Есть идеи? Какие-либо обходные пути (кроме установки вручную из настроек)?
ОБНОВЛЕНИЕ (28/4):
Обнаружена ошибка в Issuetracker: https://issuetracker.google.com/issues/151858120
2 ответа
Там крошечная заметка об этом на предприятии список изменений Android 11 здесь, в котором говорится:
Примечание. Приложения, установленные на неуправляемых устройствах или в личном профиле устройства, больше не могут устанавливать сертификаты ЦС с помощью createInstallIntent(). Вместо этого пользователи должны вручную установить сертификаты CA в настройках.
Похоже, это сделано намеренно, и вы не сможете обойти это на обычных неуправляемых устройствах. Вам нужно либо изучить полное управление устройством Android, либо вместо этого предоставить пользователям инструкции по настройке вручную.
Я тоже столкнулся с той же проблемой.
Пожалуйста, выполните следующие действия в Android 11 или 11+.
В Android 11 для установки сертификата ЦС пользователям необходимо вручную:
- Открыть настройки устройства
- Перейдите в "Безопасность"
- Перейдите в "Шифрование и учетные данные"
- Перейдите в «Установить из хранилища» или «Установить сертификат» (в зависимости от устройств).
- Выберите «Сертификат ЦС» из списка доступных типов.
- Примите предупреждение.
- Найдите файл сертификата на устройстве и откройте его.
- Подтвердите установку сертификата