Затем я сделал следующий запрос в приложении Flutter:
Код: Выделить всё
HttpClient client = HttpClient(context: SecurityContext.defaultContext);
HttpClientRequest request = await client.getUrl(url);
HttpClientResponse response = await request.close();
Я попробовали следующее:
- Сделали запрос, используя собственный код Java. => Это работает, как и ожидалось, без ошибок!
- Сертификат добавлен в SecurityContext вручную с помощью setTrustedCertificatesBytes(...). => Это работает, но мне придется добавить сертификат в приложение вручную. (Я не нашел способа получить его из системного хранилища доверенных сертификатов. Обновление: Кажется, можно получить необработанный сертификат из системного хранилища доверенных сертификатов и добавить его таким образом. Очевидно, это это скорее хак, а не предпочтительное решение.)
- Заменил SecurityContext на SecurityContext(withTrustedRoots: true) или не указал его. => Это тоже не работает. Та же ошибка, что и выше.
Подробнее здесь: https://stackoverflow.com/questions/790 ... on-android