Verifica se o seu servidor é acessível e apresenta o certificado SSL correto
Os aplicativos Android padrão para correio, calendário, contatos etc. podem sincronizar os servidores protegidos por SSL, mas não têm opção para verificar seu certificado. Basicamente, é possível verificar se o certificado é emitido por um dos padrão (antes do Android 4.0, não com editável usuário) CAS, ou não, verifique-os. Isso não é suficiente para afirmar com segurança a identidade do servidor, que apresenta o risco de fornecer informações confidenciais (senhas da conta) ao servidor errado. Esse problema é especialmente importante quando o servidor está em uma conexão semi-permediário e encontrado por DNS dinâmico, usa certificados autoassinados ou privados ou ao usar hotspots públicos de wifi (que são bastante triviais para fingir e, portanto, são um MITM regular -Attack Vector).
Este aplicativo verifica intervalos configuráveis se um determinado URL HTTPS estiver acessível e o servidor se identificar com o certificado certo. Consiste em um widget de tela inicial exibindo o status com "luzes de sinal" coloridas:
* Verde, se a conexão estiver bem
* Amarelo, quando um cheque está em andamento
* vermelho, quando o servidor é inacessível
* Double Red, quando o servidor dá erros ou falha na verificação do certificado
* pequeno branco, quando a verificação não é necessária
Ao verificar e quando ocorre um erro, a configuração global de sincronização é desligada. Dessa forma, você deve estar razoavelmente seguro de que a sincronização não tente se conectar a um servidor cuja identidade não é verificada, já que é o mesmo servidor que você verifica.
Este é um aplicativo de código aberto (GPL). A origem e a documentação adicional está disponível no meu site.
Permissões necessárias:
Internet - Conecte -se ao seu servidor (em nenhum outro lugar)
Access_network_state - Determine sua conexão (wlan, celular ...) para descobrir se a verificação é necessária
Read_sync_settings, write_sync_settings - Desligue a verificação ou erro
RECEPT_BOOT_COMPLETED - Iniciar automático (se possível, dependendo da versão Android)
Read_external_storage - Leia certificados de memória ou cartão SD