tło
Podczas używania oprogramowania do przechwytywania pakietów (na przykład Charles) do przechwytywania żądania https APP, zarówno Android, jak i Charles poprawnie zainstalowały certyfikat, ale przechwytywanie pakietów się nie udaje, a zgłaszany jest błąd:
Kontrowersja SSL klienta zawiodła: Wystąpił nieznany problem podczas przetwarzania certyfikatu (certificate_unknown)
Przyczyna
Po Android7.0 certyfikat CA domyślnie dodany do systemu nie jest już ufny:
Aby zapewnić bardziej spójne i bezpieczne doświadczenie w całym ekosystemie Androida, zaczynając od Android Nougat, kompatybilne urządzenia ufają wyłącznie ustandaryzowanym CAs systemowym utrzymywanym w AOSP .
Link do dokumentacji:https://android-developers.googl ... ed-certificate.html
Oznacza to, że dla aplikacji opartych na SDK24 i wyższych, nawet jeśli masz zainstalowany certyfikat narzędzia do przechwytywania pakietów na telefonie, nie będziesz mógł przechwytywać żądań https.
rozwiązanie
1. Oficjalne rozwiązanie (wymagana modyfikacja kodu)
Oficjalna dokumentacja:https://developer.android.google ... ecurity-config.html Szczegółowa demonstracja:https://blog.csdn.net/mrxiagc/article/details/75329629
2. Zainstalować certyfikat oprogramowania do przechwytywania pakietów jako certyfikat systemowy (wymagany ROOT)
Katalog certyfikatów systemowych: /system/etc/security/cacerts/
Konwencja nazewnictwa dla każdego certyfikatu wygląda następująco:
.<Certificate_Hash> <Number> Nazwa pliku to wartość skrótu, natomiast przyrostek to liczba.
Nazwę pliku można obliczyć za pomocą następującego polecenia:
Na przykład, jeśli wartość skrótu obliczona przez dwa certyfikaty jest taka sama, to numer sufiksu jednego certyfikatu można ustawić na 0, a numer sufiksu drugiego certyfikatu na 1
Kroki:
Użyj powyższego polecenia, aby obliczyć wartość skrótu certyfikatu oprogramowania do przechwytywania pakietów, zmienić jego nazwę i skopiować do katalogu certyfikatów systemowych
Obecnie powinieneś zobaczyć nowo dodany certyfikat w zakładce System w Ustawieniach - > Bezpieczeństwo - > Szyfrowanie i Poświadczenia - > Zaufane poświadczenia uwierzytelniające
|