Ответ 1
Чтобы обеспечить более последовательный и безопасный опыт в экосистеме Android, начиная с Android Nougat, совместимые устройства доверяют только стандартным системным CAs
поддерживаемым в AOSP.
Раньше набор pre-installed CAs
комплект поставки системы, мог варьироваться от устройства к устройству. Это может привести к проблемам с совместимостью, когда некоторые устройства не включали ЦС, которые необходимы приложениям для соединений, а также потенциальные проблемы безопасности, если ЦС, которые не соответствовали нашим требованиям безопасности, были включены на некоторые устройства.
Во-первых, убедитесь, что ваш ЦС должен быть включен в систему. Предварительно установленные ЦС предназначены только для ЦС, которые соответствуют нашим требованиям безопасности, поскольку они влияют на безопасные соединения большинства приложений на устройстве. Если вам нужно добавить CA для подключения к узлам, использующим этот CA, вы должны настроить свои приложения и службы, которые подключаются к этим узлам. Для получения дополнительной информации о настройке доверенных ЦС.
В приведенной выше ссылке вы можете найти всю необходимую информацию для доверия к настраиваемым ЦС с различными потребностями, такими как
- Доверие настраиваемых ЦС для отладки
- Доверять заказным ЦС для домена
- Доверяя добавленные пользователем CA для некоторых доменов
- Доверяя CA, добавленные пользователем, для всех доменов, кроме некоторых
- Доверие добавленных CA-центров для всех безопасных подключений
Итак, в основном вам нужно добавить файл конфигурации безопасности и настроить собственный CA (для Android 7.0 (API-уровень 24) и выше).
В вашем манифесте. Xml
<manifest ... >
<application android:networkSecurityConfig="@xml/network_security_config"
... >
...
</application>
</manifest>
В res/xml/network_security_config.xml:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config>
<domain includeSubdomains="true">example.com</domain>
<trust-anchors>
<certificates src="@raw/my_ca"/>
</trust-anchors>
</domain-config>
</network-security-config>
Только для информации: - Если вы управляете центром сертификации, который, по вашему мнению, должен быть включен в Android, сначала заполните процесс включения в Mozilla CA, а затем подайте запрос функции на Android, чтобы CA добавили стандартизованный набор системных CA.
Дайте мне знать для дальнейшей помощи.
Надеюсь, что это поможет вам. Продолжайте кодирование !!!