¿Cómo se validan los certificados contra la tienda de confianza predeterminada? -- security campo con certificates campo con https camp android Relacionados El problema

How are certs validated against default trust store?


1
vote

problema

Español

A través de alguna lectura, tengo una comprensión bastante difícil sobre cómo funciona HTTPS con aplicaciones de Android, especialmente cómo se realizan las validaciones de certificados. Algunos de los recursos que mencioné para obtener esta comprensión serían:

validating certs en Android

SSL en aplicaciones de Android

validando SSL - Android

Según mi comprensión, podría decir que las aplicaciones pueden validar:

  1. El Tienda de confianza predeterminada que proporciona Android, que tiene una lista de todos los certificados de CA que son de forma predeterminada de confianza por el sistema operativo y, por lo tanto, el navegador y la aplicación en sí. Esta es la misma lista de CAS que también se puede ver en Configuración - & GT; Seguridad - & gt; Credenciales de confianza (en JB +) o sistema / etc / seguridad / cacerts.bks (en Android & LT; JB)

o

  1. Los desarrolladores pueden optar por definir sus propios almacenes de claves personalizados y hacer que un SSLSAck -Factory sea con ellos para confiar en su tienda de confianza personalizada.

Mi pregunta gira alrededor del primer caso descrito anteriormente. En la mayoría de los lugares que pude leer al respecto, descubrí que mencioné que para validar los certificados contra la tienda de confianza predeterminada, el desarrollador no necesita hacer nada explícitamente. Simplemente presione el punto final de HTTPS y juegue con el objeto HTTPSURLCONNECTORIJO devuelto.

La validación del certificado en sí misma es internamente (de forma predeterminada) atendida por el sistema operativo Android.

Ahora me gustaría saber cómo se hace exactamente lo anterior (resaltado)? ¿Cuál es la API / MÉTODO INTERNO / CUALQUIER CUALQUIER otra cosa que llame a Android para hacer esta validación de certificados? ¿Dónde puedo encontrar esta información? Un enfoque que puedo pensar es pasar por la propia fuente de Android, pero no tengo ni idea de qué parte del código lo hace (y más serían muchos esfuerzos).

por favor conseje.

Original en ingles

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.

        

Lista de respuestas


Relacionados problema

1  La página no se puede cargar en S4 utilizando HTTP, pero lo hace en HTTPS  ( Page cant be loaded in s4 using http but it does in https ) 
Estoy teniendo problemas especiales Cargando un sitio web en mi Galaxy S4, ya sea cromado y el navegador predeterminado. En mi caso, cuando intento acceder a ...

3  ¿Descifrar el tráfico de HTTPS de las aplicaciones de Android a través de Fiddler?  ( Decrypting https traffic from android apps via fiddler ) 
En realidad, estoy tratando de depurar todo el tráfico dentro y fuera de mi teléfono. Estoy usando Fiddler en mi PC, y ProxyDroid en mi teléfono para hacer es...

1  No se puede instalar un archivo APK modificado  ( Unable to install a modified apk file ) 
Quiero monitorear el tráfico HTTPS de una aplicación de Android descargada de Google Play. Esta aplicación solo se puede ejecutar en Android N y superior. ...

18  Certificado autofirmado Instale el éxito de reclamaciones, pero Android actúa como si CERT no fuera  ( Self signed certificate install claims success but android acts as if cert isn ) 
Estoy tratando de instalar el certificado autofirmado para mi servidor web en Android 4.3. Tengo el archivo .crt en la raíz de la tarjeta SD (que en realidad ...

0  ¿Hay algún problema conocido con HTTPS y el navegador de Android?  ( Is there a known issue with https and the android browser ) 
Tengo un Galaxy S2 que ejecuta 2.3.3, todo hasta la fecha y no está enraizado. En varios sitios, encuentro que el inicio de sesión es imposible debido a las s...

1  ¿Cómo se validan los certificados contra la tienda de confianza predeterminada?  ( How are certs validated against default trust store ) 
A través de alguna lectura, tengo una comprensión bastante difícil sobre cómo funciona HTTPS con aplicaciones de Android, especialmente cómo se realizan las v...

7  ¿Cómo maneja Android WiFi Root CAS? ¿Deberían ser una preocupación de seguridad?  ( How does android handle wifi root cas should they be a security concern ) 
Mi universidad requiere que instale una raíz de CA personalizada para conectarse a su red WiFi. Cuando lo instalé en mi teléfono, me permite especificar "WiFi...

3  ¿Cómo omitir los errores de certificado en Google Chrome Android?  ( How to bypass certificate errors in google chrome android ) 
Aparentemente el escritorio Chrome tiene una bandera llamada ABCDEFGHIJKLMNABCDEFGHIJKLMN0 que le permite pasar por alto todas las advertencias de certifica...

4  Soporte de Android para TLS  ( Android support for tls ) 
He encontrado que TLS1.1 y TLS1.2 se admiten desde el nivel 16 de la API y, por defecto de la API Nivel 20. Esto corresponde a Android 4.1 (admitido) y Androi...

2  ¿Dónde conseguir APENSL BINARY para Android?  ( Where to get openssl binary for android ) 
Tengo un nexo 10 (desbloqueado y amperio; arraigado) y quería obtener el binario openssl, para que pueda verificar los certificados HTTPS: $ openssl s_clie...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos