Wydaje się, że nie ma centralnego zasobu dla Androida, który wymienia Zaufane główne urzędy certyfikacji zawarte w systemie operacyjnym lub domyślnej przeglądarce ( powiązane pytanie w SO ), więc jak mogę dowiedzieć się, które są domyślnie uwzględnione w moim telefonie?
Biorąc pod uwagę liczbę certyfikatów głównych, które zostały naruszone, oraz liczbę fałszywych certyfikatów SSL utworzonych w ciągu ostatnich kilku lat, jest to problem dla każdego, kto polega na SSL dla bezpieczeństwa, ponieważ w przeciwnym razie nie będziesz wiedział, czy chcesz usunąć wszelkie zaufane urzędy certyfikacji .
(nie wyświetla mojej wersji producenta lub systemu operacyjnego, ponieważ szukam ogólnego zasobu lub rozwiązania, które powinno mieć zastosowanie na dowolnym urządzeniu)
źródło
Odpowiedzi:
W ICS lub nowszym możesz to sprawdzić w ustawieniach . Przejdź do strony,
Settings->Security->Trusted Credentials
aby zobaczyć listę wszystkich zaufanych urzędów certyfikacji, rozdzielonych według tego, czy zostały one dołączone do systemu, czy zainstalowane przez użytkownika.Wcześniejsze wersje Androida przechowują swoje certyfikaty
/system/etc/security
w zaszyfrowanym pakiecie o nazwie,cacerts.bks
którą można wyodrębnić za pomocą Bouncy Castle ikeytool
programu. Podsumowując, najpierw wyciągnij pakiet za pomocąadb
(potrzebujesz powłoki roota), a następnie możesz użyć Bouncy Castle, aby wyświetlić zawartość pakietu:Istnieje również co najmniej jedna aplikacja, którą możesz wypróbować, jeśli nie chcesz używać powłoki: CACertMan (wymaga roota do zmodyfikowania listy, ale powinien umożliwiać przeglądanie listy bez roota). Wydaje mi się, że stało się tak z powodu fiaska DigiNotar, ponieważ nie było wówczas żadnych łatwych sposobów na unieważnienie certyfikatu. Ponieważ certyfikaty są przechowywane inaczej w ICS, a później ta aplikacja będzie działać tylko na urządzeniach z Gingerbread (lub wcześniejszymi), ale i tak jest przestarzała na ICS / JB.
źródło