Android에는 어떤 신뢰할 수있는 루트 CA가 포함되어 있습니까?


21

OS 또는 기본 브라우저에 포함 된 신뢰할 수있는 루트 CA ( SO에 관한 질문 ) 를 나열하는 중앙 Android 리소스가없는 것 같습니다. 기본적 으로 내 휴대폰에 포함 된 항목을 어떻게 알 수 있습니까?

손상된 루트 인증서의 수와 지난 몇 년 동안 생성 된 사기성 SSL 인증서의 수에 따라 보안에 SSL을 사용하는 모든 사람에게 문제가됩니다. 그렇지 않으면 제거 할 것인지 알 수 없습니다 어떤은 CA를 신뢰 .

(모든 장치에 적용 할 수있는 일반 리소스 또는 솔루션을 찾고 있으므로 제조업체 또는 OS 버전을 나열하지 않음)


1
이 앱 (루트 필요)을 사용하여 개별 루트 인증서 ( CACertMan 또는 Play Store )를 나열하고 삭제했습니다 . guradian 프로젝트는 또한 표준 키 저장소의 편집 된 버전을 유지합니다 : github.com/guardianproject/cacert
ce4

이전 코멘트의 Play Store 링크가 잘못되었습니다-여기에 올바른 Play 스토어가 있습니다
Michael Kohne

1
@Michael는 : 힌트 주셔서 감사합니다, 내 복사 / (당신 같은 코멘트를 남겨 두 올바른을 제공 eldarerathis) 버퍼를 붙여 넣기로 엉망이 보인다
CE4

답변:


17

ICS 이상 에서는 설정에서이를 확인할 수 있습니다 . 이동 Settings->Security->Trusted Credentials그들이 시스템과 함께 제공하거나 사용자가 설치되었는지 여부로 구분하여 모든 신뢰할 수있는 CA의 목록을 볼 수 있습니다.

이전 버전의 Android는 Bouncy Castle 및 프로그램을 사용하여 추출 할 수 /system/etc/security있는 암호화 된 번들에 인증서를 보관 합니다. 요약은 먼저 루트 쉘을 사용하여 번들을 가져온 다음 Bouncy Castle을 사용하여 번들의 내용을 나열 할 수 있습니다.cacerts.bkskeytooladb

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

셸을 사용하지 않으려는 경우 시도 할 수있는 앱이 하나 이상 있습니다. CACertMan (목록을 수정하려면 루트가 필요하지만 루트없이 목록을 볼 수 있어야합니다). 당시 사용자가 인증서를 해지 할 수있는 쉬운 방법이 없었기 때문에 DigiNotar의 실패로 인해 발생했다고 생각합니다. 인증서는 ICS 및 이후에 다르게 저장되므로이 앱은 Gingerbread (또는 이전 버전)를 실행하는 장치에서만 작동하지만 ICS / JB에서는 더 이상 사용되지 않습니다.


그렇습니다. DigiNotar 때문입니다. 루트는 CA (예 : 중국어 상태 CA)를 편집 할 때만 필요하며 IIRC (볼 것)를 보는 데는 필요하지 않습니다.
ce4

@ ce4 : CACertMan으로 탐색하기 위해 루트가 필요한지 여부는 기억 나지 않습니다. 실제로 확인하겠습니다. 업데이트 : 당신이 맞다고 생각합니다. 루트 액세스를 거부하면 나열 할 수 있습니다. 수정 된 목록을 저장할 수는 없습니다. 나는 그것을 명확히 할 것이다.
eldarerathis

쉘에서 인증서를 편집 / 추가 할 수있는 (루트 된) 방법이 있습니까? 설정 방법이 태블릿에서 성공했다고 주장하지만 실제로 인증서가 설치되지 않았습니다.
Michael
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.