Charles proxy échoue avec la méthode de connexion SSL
J'ai Android 4.3 forcé D'utiliser Charles proxy via IPTABLES. Le certificat charles est installé sur le téléphone. Je suis capable de capturer le trafic SSL normal comme les sites https dans le navigateur. Toutes les méthodes POST et GET semblent bien fonctionner. Dans une application particulière, il échoue lorsque la méthode SSL CONNECT est utilisée.
- URL: https://XX.XX.XXX.XXX /
- Statut: Échec De La
- Echec: SSLHandshake: Reçu alerte fatale: unknown_ca
- code de réponse: - protocole: HTTP / 1.0
- méthode: CONNECT
s'il vous Plaît aider!
8 réponses
De l'iOS 10.3 vous aussi besoin d'aller à Réglages > Général > à Propos de > Paramètres de Confiance du Certificat et la confiance de Charles certificat.
vous pouvez faire face à ce problème à certaines applications comme Facebook ou Instagram. Charles certificat ne fonctionne pas à certaines nouvelles applications parce qu'ils utilisent une technique appelée SSL-PINNING. Tout d'abord, vous devez briser ssl-pinning système d'application ou vous pouvez installer l'ancienne version de l'application cela fonctionne parfois, mais nous avons besoin d'une nouvelle solution sur le protocole ssl épingler afin d'enregistrer le trafic pour ce genre d'applications.
certains de mes clients finissent ici avec des appareils android N qui ne vont pas faire SSL sur charles même après avoir installé le cert-now sur http://chls.pro/ssl
dans N - Vous devez aussi ajouter un fichier xml et une configuration de sécurité. Comment faire pour que charles proxy travaille avec Android 7 nougat?
sur votre téléphone, visitez http://charlesproxy.com/getssl pour télécharger le cert. Lors du téléchargement du cert dans android, il vous invite à installer le cert, donner un nom au cert et continuer. Il devrait maintenant fonctionner.
Note: Le SSH devrait être similaire sur un iPhone
j'ai obtenu l'erreur suivante quand j'ai essayé d'installer le cert sur mon Nexus 6p, Android 6.0. (J'ai suivi les instructions de charles et téléchargé le cert via http://chls.pro/ssl .):
ne pouvait pas s'installer parce que le fichier de certificat ne pouvait pas être lu.
la solution à ce problème était d'installer via:
Settings
> Security
> Install from storage
Après avoir navigué vers le cert fichier et l'installer tout a fonctionné comme prévu.
comme @Berkay Yıldız dit, il utilise probablement ssl / certificat épinglant.
comment réparer/éviter/désactiver ssl épingler?
toute la logique est:
niveau 1 : pour normal http
:
la logique de base:
- PC pontage Mac / Windows
- Charles set HTTP proxy
- définir le port
- app utiliser Charles proxy
- à l'intérieur de Wifi, ensemble
- IP de l'hôte
- port
- à l'intérieur de Wifi, ensemble
Note:
côté ordinateur, doit utiliser wired network
, pas sans fil, sinon réseau latéral mobile non utilisable
niveau 2 : pour encrypted https
bombe
- PC
- installer Charles certificat racine
- Mac cannot use
Key Chain
to trust Charles Root CA
- Mac cannot use
- Charles
-
Enable SSL Proxying
- définir l'emplacement du filtre spécifiques à votre api adresse
-
- installer Charles certificat racine
- téléphone
- app
- installer Charles Root CA
- Note: le type doit sélectionner:
VPN and Application
- sélectionnez PAS:WLAN
- certificat makesure installer avec succès
-
Trusted Credentials -> User
, peut voir installé Charles certificat
-
- Note: le type doit sélectionner:
- installer Charles Root CA
- app
niveau 3 : pour le https
spécial qui utilise ssl pinning
:
- téléphone:
- assurez-vous root ou jailbreak
- Android a enraciné
- pour installer plus tard outil: Xposé
- ioste a une évasion
- pour installer plus tard outil: Cydia
- Android a enraciné
- puis installer plugin / tool, capable d'éviter / désactiver le pincement ssl
- Android:
- JustTrustMe (basé sur Xposé )
- Android-SSL-TrustKiller (Cydia Substrate)
- iOS:
- interrupteur D'arrêt SSL 2 (basé sur Cydia)
- old version փ փ iOS SSL Kill Switch (based on Cydia)
- interrupteur D'arrêt SSL 2 (basé sur Cydia)
- Android:
- assurez-vous root ou jailbreak
s'il vous plaît se référer à mon message (écrit en chinois): 1 et 2
J'utilise Charles 4.2.5 et Nexus 6P sur Android 8.1.
on ne peut pas utiliser Charles pour traquer https sur mon téléphone portable.
Plz noter qu'après Android N, Nous ne pouvons pas capturer le trafic SSL normal d'autres applications.
voici le site officiel de Charles. https://www.charlesproxy.com/documentation/using-charles/ssl-certificates /
Android de Android N, Vous devez ajouter la configuration à votre application dans ordre de lui faire confiance les certificats SSL générés par Charles SSL L'utilisation de proxy. Cela signifie que vous ne pouvez utiliser SSL Proxying qu'avec des applications qui vous avez le contrôle.
afin de configurer votre application pour faire confiance à Charles, vous devez ajouter un Fichier de Configuration de la sécurité réseau de votre application. Ce fichier peut Outrepasser le système par défaut, permettant à votre application de faire confiance à l'utilisateur installé Certificats de L'AC (p. ex. le certificat Charles Root). Vous pouvez spécifier que ceci s'applique seulement dans les constructions de debug de votre application, de sorte que les constructions de production utilisent le profil de confiance par défaut.
Ajouter un fichier res/xml/network_security_config.xml à votre application:
Ajoutez ensuite une référence à ce fichier dans le manifeste de votre application, comme suit:
...