Как я могу использовать пользовательские корневые кассы в 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
Ответить

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

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

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

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

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