web-dev-qa-db-fra.com

Le proxy Charles échoue avec la méthode de connexion SSL

J'ai forcé Android 4.3 à utiliser le proxy Charles via IPTABLES . Le certificat charles est installé sur le téléphone . Je suis en mesure de capturer le trafic SSL normal comme les sites Web https dans le navigateur . Tous POST et les méthodes GET semblent fonctionner correctement . Dans une application particulière, cela échoue lors de l'utilisation de la méthode SSL CONNECT.

  • URL: https://XX.XX.XXX.XXX/
  • Statut: Échec
  • Echec: SSLHandshake: Alerte irrécupérable reçue: unknown_ca 
  • Code de réponse: - Protocole: HTTP/1.0
  • Méthode: CONNECT

S'il vous plaît aider!

32
user1318504

Depuis iOS 10.3, vous devez également accéder à Paramètres> Général> À propos de> Paramètres de confiance du certificat et faire confiance au certificat Charles.

 enter image description here

47
Tomer Even

Vous pouvez faire face à ce problème avec certaines applications telles que Facebook ou Instagram . Le certificat Charles ne fonctionne pas avec certaines nouvelles applications, car elles utilisent une technique nommée SSL-PINNING. Tout d’abord, vous devez casser le système d’applications ssl ou vous pouvez installer une ancienne version d’application, alors cela fonctionne parfois, mais nous avons besoin d’une nouvelle solution sur l’épinglage ssl pour enregistrer le trafic de ce type d’application.

14
Berkay Yıldız

Certaines personnes finissent ici avec des appareils Android N qui n'utilisent pas SSL sur charles même après l'installation du certificat - maintenant sur http://chls.pro/ssl

En N - vous devez également ajouter un fichier XML et une configuration de sécurité. Ce message va dans plus de détails: Comment obtenir le mandataire de charles avec Android 7 nougat?

9
bsautner

J'ai rencontré le même problème. Et après avoir installé le dernier certificat, il est résolu .  enter image description here

4
zhuguowei

Sur votre téléphone, visitez http://charlesproxy.com/getssl pour télécharger le certificat. Lors du téléchargement du certificat sur Android, il vous sera demandé d’installer le certificat, de lui donner un nom et de continuer. Cela devrait maintenant fonctionner.

Remarque: le ssh devrait être similaire sur un iPhone

4
Leo Lei

comme le dit @Berkay Yıldız, il utilise probablement le brochage SSL/certificat.

comment réparer/éviter/désactiver le blocage de ssl?

toute la logique est:

NIVEAU 1: pour normal http : Logique principale :

  • PC: Mac/Windows
    • Charles a mis le proxy http
    • définir le port
  • application utilise Charles proxy
    • wifi intérieur, régler
      • IP hôte
      • port

Remarque : Côté ordinateur, DOIT utiliser wired network, PAS sans fil, sinon le réseau côté mobile n'est pas utilisable

NIVEAU 2: pour encrypted https

  • PC
    • installer le certificat racine Charles
      • Mac: utilisez Key Chain pour faire confiance à Charles Root CA
    • Charles
      • Enable SSL Proxying
        • définir le filtre d'emplacement pour votre adresse api spécifique
  • téléphone
    • app
      • installer Charles Root CA
        • Remarque: le type doit sélectionner: VPN and Application
          • PAS sélectionner: WLAN
        • rend le certificat installé avec succès
          • Trusted Credentials -> User, peut voir le certificat Charles installé

NIVEAU 3: pour SPECIAL https qui utilise ssl pinning:

  • Téléphone:
    • assurez-vous que root ou jailbreak
      • Android: a enraciné
        • pour plus tard pour installer l'outil: Xposed 
      • iOS: a échappé à la prison
        • pour plus tard pour installer l'outil: Cydia
    • puis installez le plugin/tool, capable d’éviter/désactiver l’épinglage ssl

résumé plus détaillé s'il vous plaît se référer à mon post (écrit en chinois): 1 et 2

3
crifan

Si vous obtenez cela avec une application utilisant la connexion facebook sur un téléphone Android, je l'ai contournée en désinstallant l'application fb. Ensuite, le fb web mobile est utilisé à la place et je peux tout charles. Avec l'application fb installée, l'API fb échoue avec une erreur SSL.

0
cmbellman

J'ai eu l'erreur suivante lorsque j'essayais d'installer le CERT sur mon Nexus 6p, Android 6.0. (J'ai suivi les instructions dans charles et téléchargé le certificat via http://chls.pro/ssl .):

Impossible d'installer car le fichier de certificat n'a pas pu être lu.

La solution à ce problème consistait à installer via: Settings> Security> Install from storage Après avoir accédé au fichier de certification et l'avoir installé, tout a fonctionné comme prévu.

0
lejonl