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.