Como os certs são validados contra a loja de confiança padrão? -- security campo com certificates campo com https camp android Relacionado O problema

How are certs validated against default trust store?


1
vote

problema

português

Através de alguma leitura, tenho uma compreensão bastante áspera sobre como o HTTPS funciona com aplicativos Android, especialmente como as validações de certificado são feitas. Alguns dos recursos que referi para ganhar esse entendimento seria:

Validando certs no Android

SSL em apps Android

Validando SSL - Android

De acordo com meu entendimento, eu poderia dizer que os aplicativos podem validar contra:

    .
  1. A loja de confiança padrão que o Android fornece - que tem uma lista de todos os certificados CA que são por padrão confiáveis ​​pelo sistema operacional e, portanto, pelo navegador e pelo próprio aplicativo. Esta é a mesma lista de CAS que também pode ser visto nas configurações - & gt; Segurança - & gt; Credenciais confiáveis ​​(em JB +) ou sistema / etc / segurança / cacerts.bks (no android & lt; jb)

ou

  1. os desenvolvedores podem optar por definir seus próprios keystores personalizados e fazer um SSLSocketFactory com eles para confiar em sua loja de confiança personalizada.

Minha pergunta gira em torno do primeiro caso descrito acima. Na maioria dos lugares que eu poderia ler sobre isso, descobri que mencionou que para validar os certificados contra a loja de confiança padrão, o desenvolvedor realmente não precisa fazer nada explicitamente. Basta apertar o ponto final HTTPS e jogar com o objeto HttpsurlConnection retornado.

.

A validação do certificado em si é internamente (por padrão) assumida pelo sistema operacional Android.

Agora eu gostaria de saber como exatamente é o acima (destacado) feito? Qual é o método API / Interno / qualquer outra coisa que o Android realmente chama para fazer essa validação de certificado? Onde posso encontrar esta informação ? Uma abordagem que posso pensar é passar pela fonte do Android em si, mas não tenho idéia de que parte do código isso (e mais seria um monte de esforços).

Por favor conselho.

Inglês Original

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 respostas

Perguntas relacionadas

7  Como faço para descriptografar arquivos no meu cartão SD que eu criptografe usando as configurações?  ( How do i decrypt files on my sd card that i encrypted using the settings ) 
Eu tenho arquivos que eu usei para copiar do meu cartão SD para o meu PC usando a opção de armazenamento de massa USB sob a pop-up "Conexão USB". Eu verifique...

2  Permitir login com várias senhas  ( Allow login with multiple passwords ) 
É possível configurar várias senhas aceitas para o login no Android? Ou talvez um login seguro alternativo. (Nota: Reconhecimento facial e impressão digital ...

3  O aplicativo pode ser instalado em um telefone Android sem confirmação, apenas visitando ou clicando em links na página?  ( Can application be installed on an android phone without confirmation just by v ) 
Eu fui em putlocker e depois tenho algum pop-up dizendo algo sobre erro do sistema e depois outro assim: Naquele momento eu desliguei meu telefone. Mas a...

53  Quão seguro é um bloqueio de padrão?  ( Just how secure is a pattern lock ) 
Recentemente, tive um telefone roubado. Tem sido substituído, eu mudei minhas senhas, a empresa telefônica desligou a conectividade para o roubado ... Eu acho...

1  Como parar aplicativos de auto instalação  ( How to stop apps from self installing ) 
Eu tenho um problema há algum tempo agora. Um aplicativo chamado Xeroxservice, que não tem nenhum ícone, exceto o de aplicativos como o Google Framework, etc ...

3  Samsung Galaxy S10E requer senha a cada poucos dias, é possível desabilitar com segurança?  ( Samsung galaxy s10e requires password every few days is it possible to disable ) 
galaxy s10e, protegido por um muito longa senha e impressões digitais. Eu especificamente fui para uma senha muito longa que pretenda apenas digite-o depoi...

8  Como melhorar a segurança no meu telefone Android?  ( How to improve the security on my android phone ) 
Quando eu uso o Android no negócio, tenho alguns dados secretos no meu celular. Então, se eu perder meu telefone, isso pode ser facilmente roubado. Existe a...

0  É o Google fotos Sincronização segura em WiFi pública  ( Is google photos synchronisation secure on public wifi ) 
Alguém pode (proprietário de NW pública ou intruso) realizar homem no ataque do meio e roubar as fotos enquanto eles estão sendo sincronizados com o WiFi públ...

5  Como evitar rastreamento ou hacking de um telefone usado  ( How to prevent tracking or hacking of a used phone ) 
O imei do telefone usado é limpo, então não é roubado. Parece que seu vendedor fez uma reset de fábrica antes de vendê-lo. Mas como faço para ter certeza de...

1  Diretório suspeito ".mysecuritydata" em armazenamento interno  ( Suspicious directory mysecuritydata in internal storage ) 
Eu tenho um dispositivo Galaxy Note (N7000) Execução de estoque Android 4.1.2. Eu estava navegando no armazenamento interno e notei um diretório chamado ".mys...

0  Bloqueio do cartão de memória SDHC no Samsung Galaxy 2  ( Locking sdhc memory card on samsung galaxy 2 ) 
Eu armazenei um documento importante no cartão SDHC no meu telefone Samsung Galaxy 2 (para que eu possa editá-lo em movimento). Eu não quero que os outros ace...

6  Por que os aplicativos do App Locker precisam de tantas permissões? Estou seguro?  ( Why do app locker apps need so many permissions am i safe ) 
Eu tenho tentado proteger a senha um aplicativo, e parece que as permissões variam de aplicativo para app para cacifos de aplicativos. Por que muitos deles ...

0  Impedir a imagem não autorizada piscando  ( Prevent unauthorized image flashing ) 
Eu me pergunto se há uma maneira de evitar que alguém use fastboot para piscar um dispositivo Android. De fato, enquanto se deve ser capaz de ativar USB ...

5  Por que meu tablet Nvidia está procurando servidores chineses (Baidu.com)?  ( Why is my nvidia tablet looking for chinese serversbaidu com ) 
Não tenho certeza se esta é a área certa para a pergunta, ou se é um grande negócio, mas aqui eu vou. Ao usar pelo tablet NVIDIA para desenvolver um aplicativ...

5  Existem bons firewalls disponíveis? [fechado]  ( Are there any good firewalls available ) 
. FECHADO. Esta questão é off-tópico . Atualmente não está aceitando respostas. Quer melh...




© 2021 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.