Как я могу использовать пользовательские корневые кассы в Flutter на Android?Android

Форум для тех, кто программирует под Android
Anonymous
Как я могу использовать пользовательские корневые кассы в Flutter на Android?

Сообщение Anonymous »

Я добавил свой собственный сертификат корневого CA в Android Trust Store (он отображается в качестве сертификата безопасности «пользователя» в списке сертификатов в приложении «Настройки»). Далее я настроил приложение Flutter и добавил дескриптор сетевой безопасности , который содержит источник сертификата «Пользователь» в манифест. Это позволяет приложению использовать мой собственный сертификат CA CA из Android Trust Store.

Код: Выделить всё

HttpClient client = HttpClient(context: SecurityContext.defaultContext);
HttpClientRequest request = await client.getUrl(url);
HttpClientResponse response = await request.close();
< /code>
Тем не менее, это приводит к тому, что HandshakeException < /code> с ошибкой в ​​базовой ОС: "SERTITICE_VERIFY_FAILED: Сертификат самостоятельного подписания в цепочке сертификатов." < /p>
Я попробовал следующее: < /p>

[*] сделал запрос, используя надлежащий код Java. => Это работает, как и ожидалось, без ошибки!
 Вручную добавлено сертификат в SecurityContext 
с использованием setTrustedCertificatesbytes (...) . => Это работает, но я должен добавить сертификат в приложение вручную. (Я не нашел никакого способа извлечь его из системного трастового хранилища. => Это тоже не работает. Та же ошибка, что и выше. Есть ли способ заставить клиента Flutter HTTP вести себя должным образом и использовать существующий сертификат?

Подробнее здесь: https://stackoverflow.com/questions/790 ... on-android

Вернуться в «Android»