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

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

Сообщение Anonymous »

Я добавил свой собственный корневой сертификат CA в хранилище доверенных сертификатов Android (он отображается как сертификат безопасности «Пользователь» в списке сертификатов в приложении «Настройки»). Затем я настроил приложение Flutter и добавил в манифест дескриптор network-security-config, который содержит источник сертификата «user». Это позволяет приложению использовать мой собственный корневой сертификат CA из хранилища доверенных сертификатов Android.
Затем я сделал следующий запрос в приложении Flutter:

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

HttpClient client = HttpClient(context: SecurityContext.defaultContext);
HttpClientRequest request = await client.getUrl(url);
HttpClientResponse response = await request.close();
Однако это приводит к HandshakeException с основной ошибкой ОС: «CERTIFICATE_VERIFY_FAILED: самоподписанный сертификат в цепочке сертификатов».
Я попробовали следующее:
  • Сделали запрос, используя собственный код Java. => Это работает, как и ожидалось, без ошибок!
  • Сертификат добавлен в SecurityContext вручную с помощью setTrustedCertificatesBytes(...). => Это работает, но мне придется добавить сертификат в приложение вручную. (Я не нашел способа получить его из системного хранилища доверенных сертификатов.)
  • Заменил SecurityContext на SecurityContext(withTrustedRoots: true) или не сделал этого не указываю какие-либо. => Это тоже не работает. Та же ошибка, что и выше.
Поскольку HTTP-запрос Java работает должным образом, возможно, возникла проблема с http-клиентом Flutter. Есть ли способ заставить HTTP-клиент Flutter работать правильно и использовать существующий сертификат?

Подробнее здесь: https://stackoverflow.com/questions/790 ... on-android
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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