Sebelum Android KitKat, Anda harus melakukan root pada perangkat Anda untuk menginstal sertifikat baru.
Dari Android KitKat (4.0) hingga Nougat (7.0) itu mungkin dan mudah. Saya dapat menginstal sertifikat Proxy Charles Web Debbuging pada perangkat yang belum di-root dan berhasil mengendus lalu lintas SSL.
Ekstrak dari http://wiki.cacert.org/FAQ/ImportRootCert
Sebelum Android versi 4.0, dengan versi Android Gingerbread & Froyo, ada satu file read-only (/system/etc/security/cacerts.bks) yang berisi toko kepercayaan dengan semua sertifikat CA ('sistem') yang dipercaya secara default di Android. Baik aplikasi sistem dan semua aplikasi yang dikembangkan dengan Android SDK menggunakan ini. Gunakan petunjuk ini untuk menginstal sertifikat CAcert pada Android Gingerbread, Froyo, ...
Mulai dari Android 4.0 (Android ICS / 'Ice Cream Sandwich', Android 4.3 'Jelly Bean' & Android 4.4 'KitKat'), sertifikat tepercaya sistem ada di partisi sistem (baca-saja) di folder '/ system / etc / keamanan / 'sebagai file individual. Namun, pengguna sekarang dapat dengan mudah menambahkan sertifikat 'pengguna' mereka sendiri yang akan disimpan di '/ data / misc / gantungan kunci / tambah sertifikat'.
Sertifikat yang diinstal sistem dapat dikelola pada perangkat Android di bagian Pengaturan -> Keamanan -> Sertifikat -> 'Sistem', sedangkan sertifikat tepercaya pengguna dibuat di bagian 'Pengguna' di sana. Saat menggunakan sertifikat tepercaya pengguna, Android akan memaksa pengguna perangkat Android untuk menerapkan langkah-langkah keamanan tambahan: penggunaan kode PIN, kunci pola atau kata sandi untuk membuka kunci perangkat adalah wajib ketika sertifikat yang disediakan pengguna digunakan.
Memasang sertifikat CAcert sebagai sertifikat 'tepercaya pengguna' sangat mudah. Menginstal sertifikat baru sebagai sertifikat 'tepercaya sistem' memerlukan lebih banyak pekerjaan (dan memerlukan akses root), tetapi memiliki keuntungan untuk menghindari persyaratan layar kunci Android.
Dari Android N dan seterusnya semakin sedikit, lihat kutipan ini dari situs web proxy Charles :
Pada Android N, Anda perlu menambahkan konfigurasi ke aplikasi Anda agar mempercayai sertifikat SSL yang dihasilkan oleh Charles SSL Proxying. Ini berarti bahwa Anda hanya dapat menggunakan SSL Proxying dengan aplikasi yang Anda kontrol.
Untuk mengkonfigurasi aplikasi Anda agar mempercayai Charles, Anda perlu menambahkan File Konfigurasi Keamanan Jaringan ke aplikasi Anda. File ini dapat menimpa default sistem, memungkinkan aplikasi Anda untuk mempercayai sertifikat CA yang diinstal pengguna (mis. Sertifikat Charles Root). Anda dapat menentukan bahwa ini hanya berlaku di debug membangun aplikasi Anda, sehingga membangun produksi menggunakan profil kepercayaan default.
Tambahkan file res / xml / network_security_config.xml ke aplikasi Anda:
<network-security-config>
<debug-overrides>
<trust-anchors>
<!-- Trust user added CAs while debuggable only -->
<certificates src="user" />
</trust-anchors>
</debug-overrides>
</network-security-config>
Kemudian tambahkan referensi ke file ini dalam manifes aplikasi Anda, sebagai berikut:
<?xml version="1.0" encoding="utf-8"?>
<manifest>
<application android:networkSecurityConfig="@xml/network_security_config">
</application>
</manifest>