Theo mặc định, các CA gốc đáng tin cậy được bao gồm trong Android là gì?


21

Dường như không có tài nguyên Android trung tâm nào liệt kê các CA gốc đáng tin cậy có trong HĐH hoặc trình duyệt mặc định ( câu hỏi liên quan trên SO ), vậy làm cách nào tôi có thể tìm ra những thứ được bao gồm trên điện thoại của mình theo mặc định?

Với số lượng chứng chỉ gốc đã bị xâm phạm và số lượng chứng nhận SSL lừa đảo được tạo ra trong vài năm qua, đây là vấn đề cho bất kỳ ai dựa vào SSL để bảo mật, vì nếu không bạn sẽ không biết nếu bạn muốn xóa bất kỳ CA đáng tin cậy .

(không liệt kê phiên bản dành cho nhà sản xuất hoặc hệ điều hành của tôi vì tôi đang tìm kiếm một tài nguyên hoặc giải pháp chung có thể áp dụng cho mọi thiết bị)


1
Tôi đã sử dụng ứng dụng này (yêu cầu root) để liệt kê và xóa từng certs gốc: CACertMan hoặc trên Play Store . Dự án guradian cũng duy trì một phiên bản chỉnh sửa của kho khóa tiêu chuẩn: github.com/guardianproject/cacert
ce4

Liên kết Cửa hàng Play trong nhận xét trước là sai - Đây là một cửa hàng Play Store đúng
Michael Kohne

1
@Michael: Cảm ơn bạn đã gợi ý, có vẻ như tôi đã nhầm lẫn với bộ đệm sao chép / dán của mình (để lại nhận xét, vì cả bạn và eldarerathis đều cung cấp đúng)
ce4

Câu trả lời:


17

Trên ICS hoặc sau này, bạn có thể kiểm tra điều này trong cài đặt của bạn . Đi đến Settings->Security->Trusted Credentialsđể xem danh sách tất cả các CA đáng tin cậy của bạn, được phân tách bằng cách chúng được bao gồm trong hệ thống hoặc được người dùng cài đặt.

Các phiên bản trước của Android giữ các certs của họ /system/etc/securitytrong một gói được mã hóa có tên cacerts.bksmà bạn có thể trích xuất bằng Bouncy Castlekeytoolchương trình. Tóm tắt trước tiên là kéo gói bằng cách sử dụng adb(bạn cần một vỏ gốc) sau đó bạn có thể sử dụng Bouncy Castle để liệt kê nội dung của gói:

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

Cũng có ít nhất một ứng dụng mà bạn có thể dùng thử nếu bạn không muốn sử dụng trình bao: CACertMan (yêu cầu root để sửa đổi danh sách, nhưng sẽ cho phép bạn xem danh sách mà không cần root). Tôi tin rằng nó xuất hiện do fiasco DigiNotar vì không có cách nào đặc biệt dễ dàng để người dùng thu hồi chứng chỉ tại thời điểm đó. Vì các certs được lưu trữ khác nhau trên ICS và sau đó, ứng dụng này sẽ chỉ hoạt động trên các thiết bị chạy Gingerbread (hoặc trước đó), nhưng dù sao nó cũng đã lỗi thời trên ICS / JB.


Đúng, nó đến vì DigiNotar. Root chỉ được yêu cầu để chỉnh sửa CA ra (ví dụ CA nhà nước Trung Quốc), không phải để xem tôi giả sử (IIRC).
ce4

@ ce4: Tôi không nhớ nếu bạn cần root chỉ để duyệt bằng CACertMan hay không - Tôi sẽ kiểm tra thật nhanh. Cập nhật: Hãy nghĩ rằng bạn đúng, tôi có thể liệt kê chúng nếu tôi từ chối quyền truy cập root, tôi chỉ không thể lưu danh sách đã sửa đổi. Tôi sẽ làm rõ điều đó.
eldarerathis

Có cách nào (root) để chỉnh sửa / thêm chứng chỉ từ shell không? Phương thức Cài đặt khẳng định thành công trên máy tính bảng của tôi, nhưng chứng chỉ không thực sự được cài đặt.
Michael
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.