Après avoir mis à jour mon iPhone 6+ d'iOS 8 à iOS 9, mon compte de messagerie IMAP a cessé de fonctionner. Lorsque l'application Mail tente de se connecter au serveur, elle échoue et affiche une alerte avec le titre "Cannot get Mail" et le message "The mail server x.y.z is not responding. Vérifiez que vous avez entré les bonnes informations de compte dans les paramètres de Mail".
J'ai vérifié les informations relatives au compte et elles sont effectivement correctes. Il est intéressant de noter que j'ai no Je ne reçois aucun message d'erreur de l'application Paramètres lorsque j'essaie de sauvegarder le compte. J'ai essayé de saisir volontairement des informations erronées (mauvais nom d'utilisateur, mauvais mot de passe, mauvais port TCP), et à chaque fois que je fais cela et que j'essaie de sauvegarder le compte, l'application settings affiche une alerte "The IMAP server x.y.z is not responding." (Le serveur IMAP x.y.z ne répond pas). Je suis donc vraiment que les informations que j'ai saisies sont correctes.
De plus, j'ai deux autres appareils iOS dans la maison (un iPad 2 et un iPhone 4S) qui sont configurés pour utiliser le même compte et qui sont toujours sous iOS 8 - à partir de ces appareils, le compte fonctionne correctement, donc je sais aussi que le problème n'est pas quelque chose de basique comme le fait que le serveur IMAP est en panne.
J'ai fait plusieurs tentatives (voir ci-dessous), mais sans succès. La seule chose dont je suis certain, c'est que le problème est lié d'une manière ou d'une autre à TLS et/ou aux certificats. En tenant compte des informations fournies par cette question AskDifferent Je pense qu'il s'agit d'un problème avec le certificat CAcert, mais je n'en suis pas sûr.
Avez-vous connaissance de changements dans iOS 9 concernant la gestion des certificats (non fiables ou autres) ? Ou avez-vous d'autres indices qui pourraient m'aider à résoudre ce problème ?
Informations sur le serveur :
- Le serveur IMAP fonctionne sur une machine Debian dont j'ai le contrôle total
- Le serveur IMAP est Courier IMAP
- Le serveur IMAP accepte les connexions sur le port IMAP standard 143
- Le serveur IMAP a besoin de STARTTLS pour s'assurer que tout le trafic est crypté via TLS.
- Le serveur IMAP utilise un certificat de type "wildcard".
- Le serveur IMAP fournit l'ensemble de la chaîne de certificats au client.
- L'autorité de certification racine est CAcert.org ( lien vers les certificats de l'autorité de certification racine et intermédiaire )
- CAcert.org n'étant pas, par défaut, dans la liste des AC de confiance d'iOS 9, j'ai installé manuellement les certificats de l'AC racine et intermédiaire sur l'iPhone 6+.
- Version de Courier = 0.73.1 (
/usr/bin/imapd --version
) - Version d'OpenSSL = 1.0.2d (
/usr/bin/openssl version
)
Qu'ai-je essayé ?
- La première chose que j'ai faite est de supprimer toute la configuration du compte dans l'application de réglages de l'iPhone, puis de créer un nouveau compte et de réintroduire les détails de la configuration. Je n'ai pas réussi.
- J'ai mis à jour plusieurs paquets sur la machine Debian, y compris Courier et OpenSSL, pour m'assurer que le serveur dispose des capacités de sécurité les plus récentes et les plus performantes. Sans succès.
- I lire quelque part qu'iOS 9 pourrait nécessiter TLS 1.2 côté serveur, j'ai donc vérifié que le serveur IMAP propose bien cette version de TLS à ses clients. C'est le cas. Voici la commande que j'ai utilisée pour la vérification :
openssl s_client -connect mail.herzbube.ch:143 -starttls imap
. Si vous exécutez ceci, vous verrez un bloc avec des informations sur la session SSL vers la fin, ce bloc contient une ligne qui montre la version TLS qui est utilisée (Protocol : TLSv1.2
). Notez que pour obtenir TLS v1.2, votre version d'OpenSSL côté client doit également le supporter. Par exemple, OpenSSL sur mon ordinateur portable Mac OS X Yosemite (10.10.3) est trop vieux, c'est-à-dire qu'il n'est que la version 0.9.8.zd et ne semble pas comprendre TLS 1.2, donc j'obtiensProtocol : TLSv1
. - J'ai supprimé les certificats CAcert Root et intermédiaires sur l'iPhone, puis je les ai réinstallés. Non, cela n'a pas aidé.
- J'ai temporairement désactivé l'exigence de TLS du côté du serveur, et cela résout le problème, c'est-à-dire que l'application Mail peut maintenant se connecter, s'identifier et recevoir des courriels du serveur. Évidemment, ce n'est pas une vraie solution, puisque je ne veux pas que le trafic vers le serveur IMAP soit en texte clair, mais au moins je sais maintenant que le problème est lié d'une manière ou d'une autre à TLS (et/ou aux certificats).
- J'ai mis à jour l'iPhone vers iOS 9.0.1. Sans succès.