Android Studio: обработка сайтов с сертификатом Минкомсвязи в webview компоненте приложения
При попытке отобразить в webview компоненте сайт с сертификатом выданным Минкомсвязи, возникает ошибка проверки SSL соединения, т.к. этому корневому сертификату система не «доверяет». В частности ошибка возникает в настоящий момент при процессинге платежей банка Тинькофф и Сбербанк. В настоящий момент существует путь заставить компонент webview корректно проходить проверку сертификата на таких сайтах. Для этого в файл манифеста приложения необходимо добавить строчку вида:
1 2 3 |
<application android:networkSecurityConfig="@xml/network_security_config" ... |
А так-же в папке ресурсов добавить папку xml, и разместить там файл network_security_config.xml:
1 2 3 4 5 6 7 8 9 10 11 12 |
<?xml version="1.0" encoding="utf-8"?> <network-security-config> <domain-config> <domain includeSubdomains="true">ru</domain> <trust-anchors> <certificates src="@raw/root"/> <certificates src="@raw/sub"/> <certificates src="system"/> <certificates src="user"/> </trust-anchors> </domain-config> </network-security-config> |
Сертификаты Минкомсвязи, соответственно нужно положить в android/src/res/raw
. Скачать их можно тут
В результате проведенных манипуляций, все сайты в зоне ru, будут сначала проверяться при помощи сертификата Минкомсвязи, а в случае не успеха — встроенными сертификатами системы и установленными сертификатами пользователя.