2 votes

Comment importer correctement une autorité de certification pour l'application Email ?

Pour ma propre installation, j'utilise une autorité de certification personnelle : "Gert van Dijk CA". Je l'utilise pour HTTPS et VPN avec succès en important le certificat CA dans le keystore Android. J'ai des difficultés à faire reconnaître cela par l'application Email. Voici quelques notes sur la configuration actuelle :

  • L'autorité de certification personnalisée est parfaitement répertoriée dans Paramètres -> Sécurité -> Références de confiance -> Utilisateur .
  • Chrome et "OpenVPN for Android" fonctionnent avec cette autorité de certification personnalisée. Je peux voir une barre de localisation verte lorsque je me connecte à https://mail.mydomain.tld .

Tout se passe bien, jusqu'à ce que j'en vienne à configurer mon courrier Exchange. Il ne se connecte tout simplement pas à mail.mydomain.tld avec l'erreur "Couldn't open connection to server". Cependant, lorsque je change le "Type de sécurité : SSL/TLS" en "SSL/TLS (Accepte tous les certificats)", la synchronisation de mon courrier se fait sans problème ! Cela me fait penser que l'application Email ne prend pas en compte les informations d'identification de l'utilisateur dans la base de données de clés. Pourquoi ?

Logcat m'indique cette ligne lors de la réception de l'erreur de connexion :

I/Exchange(10278): IOException while sending request: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.

Pour vérifier que j'ai correctement configuré mon serveur Exchange, j'ai navigué vers https://mail.mydomain.tld/Microsoft-Server-ActiveSync et la barre de localisation est parfaitement verte !

Comment puis-je faire en sorte que l'application de messagerie prenne en compte les informations d'identification de l'utilisateur ? Je ne veux pas faire confiance à tous les certificats possibles pour des raisons de sécurité.

Versions Android : 4.4 (Nexus 5), 4.3 (Nexus 7 2013).

0voto

gertvdijk Points 887

Ah, bien sûr. Il semble que l'application Stock Email ne fasse pas de SNI . Cela signifie que lors de la connexion initiale au serveur, un autre certificat lui a été présenté, qu'il aurait dû écarter (mais qu'il ne l'a pas fait). Il me semble qu'il s'agit d'une demande de fonctionnalité pour l'application Email, puisque d'autres applications implémentent SNI.

La modification de la configuration SSL d'Apache pour utiliser SNI avec un certificat initial signé avec le "Gert van Dijk CA" n'a toujours pas résolu le problème. Logcat a alors montré :

I/Exchange(12307): IOException while sending request: Cannot verify hostname: mail.mydomain.tld

Paramètres mail.mydomain.tld comme certificat initial a résolu le problème. Je considère qu'il s'agit d'une solution de contournement peu pratique jusqu'à ce que le problème soit résolu dans l'application Email.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X