CA Root Tepercaya apa yang termasuk dalam Android secara default?

21

Sepertinya tidak ada sumber daya Android pusat yang mencantumkan CA Root Tepercaya yang disertakan dalam OS atau browser default ( pertanyaan terkait pada SO ), jadi bagaimana cara mengetahui yang disertakan pada ponsel saya secara default?

Dengan jumlah sertifikat root yang telah disusupi, dan jumlah sertifikat SSL palsu yang dibuat selama beberapa tahun terakhir, ini merupakan masalah bagi siapa saja yang mengandalkan SSL untuk keamanan, karena jika tidak, Anda tidak akan tahu apakah Anda ingin menghapus CA yang tepercaya .

(tidak mencantumkan versi pabrikan atau OS saya karena saya mencari sumber daya generik atau solusi yang dapat diterapkan pada perangkat apa pun)

GATambar
sumber
1
Saya telah menggunakan aplikasi ini (diperlukan root) untuk mendaftar dan menghapus sertifikat root individual: CACertMan atau di Play Store . Proyek guradian juga mempertahankan versi standar keystore yang diedit
ce4
Tautan Play Store dalam komentar sebelumnya salah - Inilah yang benar Play Store
Michael Kohne
1
@Michael: Terima kasih atas petunjuknya, sepertinya saya mengacaukan buffer / tempel buffer saya (meninggalkan komentar, karena Anda dan eldarerathis keduanya memberikan yang benar)
ce4

Jawaban:

17

Pada ICS atau lebih baru Anda dapat memeriksanya di pengaturan Anda . Pergi ke Settings->Security->Trusted Credentialsuntuk melihat daftar semua CA tepercaya Anda, dipisahkan oleh apakah mereka disertakan dengan sistem atau diinstal oleh pengguna.

Versi Android sebelumnya menyimpan sertifikat mereka /system/etc/securitydi bawah bundel terenkripsi dengan nama cacerts.bksyang bisa Anda ekstrak menggunakan Bouncy Castle dan keytoolprogramnya. Ringkasannya adalah untuk pertama-tama menarik bundel menggunakan adb(Anda perlu shell root) maka Anda dapat menggunakan Bouncy Castle untuk membuat daftar isi bundel:

shell~$ adb pull /system/etc/security/cacerts.bks`
shell~$ keytool -keystore cacerts.bks -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider -storepass changeit -v -list

Ada juga setidaknya satu aplikasi yang dapat Anda coba jika Anda memilih untuk tidak menggunakan shell: CACertMan (memerlukan root untuk memodifikasi daftar, tetapi harus memungkinkan Anda untuk melihat daftar tanpa root). Saya percaya itu terjadi karena kegagalan DigiNotar karena tidak ada cara yang sangat mudah bagi pengguna untuk mencabut sertifikat pada saat itu. Karena sertifikat disimpan secara berbeda pada ICS dan nantinya aplikasi ini hanya akan berfungsi pada perangkat yang menjalankan Gingerbread (atau lebih awal), tetapi tetap saja usang pada ICS / JB.

eldarerathis
sumber
Ya, itu datang karena DigiNotar. Root hanya diperlukan untuk mengedit CA keluar (mis. CA negara Cina), bukan untuk melihat saya kira (IIRC).
ce4
@ ce4: Saya tidak ingat apakah Anda perlu root untuk menjelajah dengan CACertMan atau tidak - Saya akan memeriksanya dengan cepat. Perbarui: Pikir Anda benar, saya bisa daftar mereka jika saya menolak akses root, saya hanya tidak dapat menyimpan daftar yang dimodifikasi. Saya akan mengklarifikasi itu.
eldarerathis
Apakah ada cara (root) untuk mengedit / menambah sertifikat dari shell? Metode Pengaturan mengklaim berhasil di tablet saya, tetapi sertifikat sebenarnya tidak diinstal.
Michael