Как Certs проверены по сравнению с трастовым магазином по умолчанию? -- security поле с участием certificates поле с участием https пол android Связанный проблема

How are certs validated against default trust store?


1
vote

проблема

русский

Через некоторое чтение у меня довольно грубое понимание того, как HTTPS работает с приложениями для Android, особенно как выполняются проверки сертификатов. Некоторые из ресурсов, которые я ссылался на получение этого понимания:

Проверка серверов в Android

SSL в приложениях Android

Проверка SSL - Android

Согласно моему пониманию, я мог бы примерно говорить, что приложения могут подтвердить:

  1. Trust Thread Trust, который Android предоставляет - у которого есть список всех сертификатов CA, которые по умолчанию доверяют ОС и, следовательно, браузером и самим приложением. Это тот же список CAS, который также можно увидеть в настройках - & gt; Безопасность - & gt; Доверенные полномочия (в JB +) или System / etc / security / cacerts.bks (в Android & lt; JB)

или

    Разработчики
  1. могут определить свои собственные пользовательские кепки и сделать SSLSocketFactory с ними, чтобы доверять их пользовательскому трастовым магазинам.

Мой вопрос вращается вокруг первого случая, описанного выше. В большинстве мест, которые я мог прочитать об этом, я обнаружил, что в нем упомянул, что для проверки сертификатов против хранилища Trust Default разработчик на самом деле не нужно ничего делать четко. Просто нажмите кнопку «Конечную точку HTTPS» и воспроизводитесь с возвращенным объектом HTTPSURLConnection.

Сама проверка сертификата внутренне (по умолчанию) по уходу за Android OS.

Теперь я хотел бы знать, как именно выше (выделено) сделано? Каков API / внутренний метод / что-нибудь еще, что Android фактически вызывает выполнение этой проверки сертификата? Где я могу найти эту информацию? Один из подходов, который я могу подумать, - это пройти через самого источника Android, но я не имею никакой подсказки, частью кода это (и плюс это было бы много усилий).

Пожалуйста, совет.

Английский оригинал

Through some reading, I have a fairly rough understanding about how https works with Android apps, especially how are certificate validations done. Some of the resources that I referred to for gaining this understanding would be :

Validating certs in Android

SSL in Android apps

Validating SSL - Android

As per my understanding, I could roughly say that apps can validate against :

  1. The default Trust Store that Android provides - which has a list of all the CA certificates that are by default trusted by the OS and hence by the browser and the app itself. This is the same list of CAs that can also be seen in Settings -> Security -> Trusted credentials (in JB+) or system/etc/security/cacerts.bks (in Android < JB)

OR

  1. Developers can choose to define their own custom keystores and make an SSLSocketFactory with them to trust their custom trust store.

My question revolves around the first case described above. In most of the places that I could read about it, I discovered it mentioned that for validating the certificates against the default Trust Store, the developer does not really need to do anything explicitly. Just hit the https end point and play on with the HttpsUrlConnection object returned.

The certificate validation itself is internally (by default) taken care of by Android OS.

Now I would like to know how exactly is the above (highlighted) done ? What is the API/internal method/anything else that Android actually calls to do this certificate validation ? Where can I find this information ? One approach I can think of is to go through the Android source itself, but I have no clue which part of the code does it (and plus it would be a lot of efforts).

Please advice.

        

Список ответов


Связанный проблема

0  Почему я не мог отслеживать трафик с этой страницы?  ( Why i couldnt monitor traffic from this page ) 
Когда я открыл журнал захвата, я ничего не нашел с страницы, отличного от этого, когда я впервые попытался посетить его, используя только HTTP, а затем я полу...

1  Как Certs проверены по сравнению с трастовым магазином по умолчанию?  ( How are certs validated against default trust store ) 
Через некоторое чтение у меня довольно грубое понимание того, как HTTPS работает с приложениями для Android, особенно как выполняются проверки сертификатов. Н...

2  Как мне неправильно импортировать пользователь CA для приложения электронной почты?  ( How do i import a user ca for the email app properly ) 
Для моей собственной настройки я использую персональную ЦА: «Герт Ван Дижьер Кайс». Успешно использую это для HTTPS и VPN, импортируя сертификат CA в клавиш A...

0  Есть ли известная проблема с HTTPS и браузером Android?  ( Is there a known issue with https and the android browser ) 
У меня есть Galaxy S2 Whing 2.3.3, все в курсе и не укоренившись. На нескольких сайтах я считаю, что вход в систему невозможно из-за запросов, отправленных на...

1  Страница не может быть загружена в S4, используя HTTP, но он делает в HTTPS  ( Page cant be loaded in s4 using http but it does in https ) 
У меня есть специальные проблемы, загрузка веб-сайта в моей Galaxy S4, Chrome и браузере по умолчанию. В моем случае, когда я пытаюсь получить доступ к файлу ...

0  Импортировать файл PEM, содержащий несколько сертификатов CA  ( Import pem file containing multiple ca certs ) 
Использование Samsung S4, Android 5.0.1, не укоренившись. Недавно я нашел по крайней мере два сайта, которые Chrome Browser на Android 5.0.1 отчеты отчетов HT...

3  Как обходить ошибки сертификата в Google Chrome Android?  ( How to bypass certificate errors in google chrome android ) 
Видимо настольный Chrome имеет флаг под названием <код> --ignore-certificate-errors , который позволяет обойти все предупреждения о сертификатах. Есть ли экви...

0  Можно ли иметь доступ для доверенных сертификатов  ( Is it possible to have shell access to trusted certificates ) 
У меня есть приложение для Android, которое запускает Python через JNI. Внутри Python у меня есть веб-реквизиты, которые я делаю, некоторые должны быть безопа...

1  Настройка прокси HTTPS  ( Setting up an https proxy ) 
Я использую проксификатор, чтобы подключиться к прокси HTTPS на ПК, что я должен сделать, чтобы подключить аналогично на моем смартфоне Android? Моя версия ...

21  Как установить сертификат пользователя?  ( How do i install a user certificate ) 
У меня есть свой собственный корневой сертификат, который подписывает сертификаты пользователя. У меня есть сайт, который позволит вам только с сертификатом...

7  Как обрабатывать Android Wifi CAS CAS? Должны ли они быть проблемой безопасностью?  ( How does android handle wifi root cas should they be a security concern ) 
Мой университет требует от меня установить пользовательский корневой CA для подключения к их сети WiFi. Когда я установил его на моем телефоне, это позвольте ...

0  Сайты HTTPS больше не загружаются на мой Android после установки CERT для TrustStore  ( Https sites no longer load on my android after installing cert to truststore ) 
У меня укоренился Android 4.3 Jellybean. Я проверил что-то и пытался установить сертификат для Charles Proxy, чтобы я мог понять какое-то трафик SSL. Я смог п...

18  Самозагодный сертификат устанавливает претензий успех, но Android действует так, как если бы Серь не там  ( Self signed certificate install claims success but android acts as if cert isn ) 
Я пытаюсь установить самозагодный сертификат на мой веб-сервер в Android 4.3. У меня есть файл .CRT в корне SD-карты (который фактически эмулирован, так как у...

2  Куда получить openssl binary для Android?  ( Where to get openssl binary for android ) 
У меня есть Nexus 10 (разблокирован & amp; укоренившись), и я хотел получить двоичный файл OpenSSL, чтобы я мог проверить сертификаты HTTPS: <код> $ openssl...

21  Какие доверенные корневые CAS по умолчанию включены в Android?  ( What trusted root cas are included in android by default ) 
Там не похоже, что ресурс центрального андроида, который перечисляет доверенный корневой CAS, включенный в ОС или браузер по умолчанию ( связанный вопрос на т...

0  Как преобразовать сертификат, который будет использоваться в Android  ( How to convert certificate to be used in android ) 
Я сгенерировал публичную - частную клавиатуру (CA верно), используя следующий код: <код> openssl genrsa -out private.key 3072 openssl req -new -sha256 ...

4  Android поддержка TLS  ( Android support for tls ) 
Я обнаружил, что TLS1.1 и TLS1.2 поддерживается от уровня 16 API и по умолчанию по умолчанию с API Уровень 20. Это соответствует Android 4.1 (поддерживается) ...

0  PANDISTAL NOWN - Как заменить / обновить сертификат?  ( Pandigital novel how to replace update certificate store ) 
После Fiasco Diginotar проект Guardian потусил приложение Cacertman, которое позволяет пользователю модифицировать свой хранилище сертификатов на укоретенном ...

5  Как запомнить / кэшировать сертификат клиента  ( How to remember cache a client certificate ) 
Я поддерживаю веб-приложение, которое требует подключения HTTPS с клиентскими сертификатами в составе схемы аутентификации. В большинстве браузеров (настольны...

0  Кто-нибудь знает, что это зовет эмулятора Android?  ( Does anyone know what this android emulator call is ) 
Я смотрел на сетевой трафик для эмулятора Android с помощью MITM Proxy. Я заметил большое количество трафика, идущих на серверы Google. Кто-нибудь знает, что ...

0  Невозможно принять сертификат SSL (K9mail)  ( Unable to accept ssl certificate k9mail ) 
Я устанавливаю k9mail на 4,2 устройстве (укоренившаяся Sony Xperia mini Pro со склада на акции и дерьмо), и он жалуется на то, что он жалуется на сертификат I...

1  Удалить RC4 из шифров SSL / TLS  ( Remove rc4 from ssl tls ciphers ) 
Есть ли способ удалить RC4 из шифров SSL / TLS в системе Android, так что также приложения, а не только браузер не используют их больше? Спасибо ...

1  Какой безопасный способ сообщения / поговорить с кем-то в CM9?  ( Whats a secure way to message talk to someone in cm9 ) 
Я использую CM9 Nightly (20120712 т.е. сегодня). Мне нужно надежно говорить, без шансов на подслушивание, кому-то, кто также имеет CM9 Nightly (не уверен, к...

1  Невозможно установить модифицированный файл APK  ( Unable to install a modified apk file ) 
Я хочу контролировать трафик HTTPS на Android-приложение, загруженное из Google Play. Это приложение может быть запущено только на Android n и выше. Так ч...

3  Расширяя трафик HTTPS из приложений Android через Fiddler?  ( Decrypting https traffic from android apps via fiddler ) 
Я на самом деле пытаюсь отладить все трафик, идущий на моем телефоне. Я использую Fiddler на моем компьютере, и ProxyDroid на моем телефоне, чтобы сделать это...

Связанный проблема

0  Почему я не мог отслеживать трафик с этой страницы? 
1  Как Certs проверены по сравнению с трастовым магазином по умолчанию? 
2  Как мне неправильно импортировать пользователь CA для приложения электронной почты? 
0  Есть ли известная проблема с HTTPS и браузером Android? 
1  Страница не может быть загружена в S4, используя HTTP, но он делает в HTTPS 
0  Импортировать файл PEM, содержащий несколько сертификатов CA 
3  Как обходить ошибки сертификата в Google Chrome Android? 
0  Можно ли иметь доступ для доверенных сертификатов 
1  Настройка прокси HTTPS 
21  Как установить сертификат пользователя? 
7  Как обрабатывать Android Wifi CAS CAS? Должны ли они быть проблемой безопасностью? 
0  Сайты HTTPS больше не загружаются на мой Android после установки CERT для TrustStore 
18  Самозагодный сертификат устанавливает претензий успех, но Android действует так, как если бы Серь не там 
2  Куда получить openssl binary для Android? 
21  Какие доверенные корневые CAS по умолчанию включены в Android? 
0  Как преобразовать сертификат, который будет использоваться в Android 
4  Android поддержка TLS 
0  PANDISTAL NOWN - Как заменить / обновить сертификат? 
5  Как запомнить / кэшировать сертификат клиента 
0  Кто-нибудь знает, что это зовет эмулятора Android? 
0  Невозможно принять сертификат SSL (K9mail) 
1  Удалить RC4 из шифров SSL / TLS 
1  Какой безопасный способ сообщения / поговорить с кем-то в CM9? 
1  Невозможно установить модифицированный файл APK 
3  Расширяя трафик HTTPS из приложений Android через Fiddler?