J'utilise Charles Proxy pour voir tout le trafic qui sort de mon iphone. J'ai le certificat/profil SSL installé sur mon iphone et je peux voir une grande partie du trafic crypté SSL. Cependant, certaines applications semblent ne pas terminer la prise de contact SSL.
L'erreur est: "SSLHandshake: connexion fermée de l'hôte distant pendant la prise de contact", puis Charles Proxy suggère de configurer l'application pour approuver le certificat racine Charles. Je pensais l'avoir fait lorsque j'ai installé le profil sur mon iPhone?
Une explication de ce/moyen de le corriger?
Il existe des applications qui n'attendent pas simplement que le certificat signe l'une des autorités de certification de confiance sur le système, mais qui attendent un seul certificat spécifique ou un certificat contenant une clé publique spécifique. C'est ce qu'on appelle l'épinglage de certificat/clé publique. Pour cette application, cela ne fonctionnera pas si vous configurez l'AC de Charles Proxy comme approuvé sur le système, car ils n'utiliseront pas cette autorité de certification.
Une explication de ce/moyen de le corriger?
Si l'application est conçue pour ne faire confiance qu'à un seul certificat/clé publique et ne fait jamais confiance à quelque chose simplement parce qu'elle est signée par une autorité de certification approuvée localement, vous auriez besoin du certificat d'origine et de sa clé privée pour effectuer l'interception SSL. Puisque vous ne les avez pas, il n'y a aucun moyen de faire l'interception SSL.
Oui, l'épinglage SSL est une possibilité. Bien qu'à partir d'iOS 10.3, vous devez prendre une étape supplémentaire pour faire confiance au certificat racine Charles qui n'est pas actuellement documenté sur leur site Web:
Settings > General > About > Certificate Trust Testings
Source: https://www.neglectedpotential.com/2017/04/trusting-custom-root-certificates-on-ios-10-3/