Vérifie si votre serveur est accessible et présente le bon certificat SSL
Les applications Android standard pour la messagerie, le calendrier, les contacts, etc. peuvent se synchroniser avec des serveurs protégés par SSL mais n'ont pas la possibilité de vérifier leur certificat. Fondamentalement, il est possible soit de vérifier si le certificat est émis par l'une des autorités de certification standard (avant Android 4.0, non modifiables par l'utilisateur), soit de ne pas les vérifier du tout. Cela ne suffit pas pour affirmer de manière fiable l’identité du serveur, ce qui présente le risque de transmettre des informations sensibles (mots de passe des comptes) au mauvais serveur. Ce problème est particulièrement important lorsque le serveur est sur une connexion semi-permanente et trouvé via un DNS dynamique, utilise des certificats auto-signés ou privés, ou lors de l'utilisation de points d'accès WiFi publics (qui sont plutôt triviaux à simuler et sont donc un MitM classique). -vecteur d'attaque).
Cette application vérifie à intervalles configurables si une URL HTTPS donnée est accessible et si le serveur s'identifie avec le bon certificat. Il se compose d'un widget d'écran d'accueil affichant l'état avec des « signaux lumineux » colorés :
* vert, si la connexion est correcte
* jaune, lorsqu'un contrôle est en cours
* rouge, lorsque le serveur est inaccessible
* double rouge, lorsque le serveur donne des erreurs ou échoue à la vérification du certificat
* petit blanc, lors de la vérification n'est pas nécessaire
Lors de la vérification et lorsqu'une erreur se produit, le paramètre de synchronisation globale est désactivé. De cette façon, vous devez être raisonnablement sûr que la synchronisation n'essaie pas de se connecter à un serveur dont l'identité n'est pas vérifiée, étant donné qu'il s'agit du même serveur que celui que vous vérifiez.
Il s'agit d'une application open source (GPL). La source et une documentation supplémentaire sont disponibles via mon site Web.
Autorisations nécessaires :
INTERNET - connectez-vous à votre serveur (nulle part ailleurs)
ACCESS_NETWORK_STATE - déterminez votre connexion (WLAN, mobile...) pour savoir si une vérification est nécessaire
READ_SYNC_SETTINGS, WRITE_SYNC_SETTINGS - désactiver la synchronisation en cas de vérification ou d'erreur
RECEIVE_BOOT_COMPLETED - démarrage automatique (si possible, selon la version d'Android)
READ_EXTERNAL_STORAGE - lire les certificats depuis la mémoire ou la carte SD
En savoir plus