Mise à jour: Charles 3.9.3+ a une fonction intégrée pour configurer vos simulateurs iOS (c.-à-d. Installer le certificat SSL Charles). Cela se trouve dans le menu Aide de l'application Charles. ( Help > SSL Proxying > Install Charles Root Certificate in iOS Simulators
)
Ce qui suit s'applique à Charles 3.9.2:
Téléchargez le script shell de configuration à partir du site Web Charles Proxy . Ensuite, remplacez le script par ce qui suit et exécutez-le sur votre Mac:
install() {
if [ -f "$SQLITEDBPATH" ]; then
cp -n "$SQLITEDBPATH" "$SQLITEDBPATH.charlesbackup"
sqlite3 "$SQLITEDBPATH" <<EOF
INSERT INTO "tsettings" VALUES(X'189B6E28D1635F3A8325E1E002180DBA2C02C241',X'3123302106035504030C1A436861726C65732050726F78792053534C2050726F7879696E6731243022060355040B0C1B687474703A2F2F636861726C657370726F78792E636F6D2F73736C3111300F060355040A0C08584B3732204C74643111300F06035504070C084175636B6C616E643111300F06035504080C084175636B6C616E64310B3009060355040613024E5A',X'3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C21444F435459504520706C697374205055424C494320222D2F2F4170706C652F2F44544420504C49535420312E302F2F454E222022687474703A2F2F7777772E6170706C652E636F6D2F445444732F50726F70657274794C6973742D312E302E647464223E0A3C706C6973742076657273696F6E3D22312E30223E0A3C61727261792F3E0A3C2F706C6973743E0A',X'3082045E30820346A003020102020101300D06092A864886F70D01010505003081913123302106035504030C1A436861726C65732050726F78792053534C2050726F7879696E6731243022060355040B0C1B687474703A2F2F636861726C657370726F78792E636F6D2F73736C3111300F060355040A0C08584B3732204C74643111300F06035504070C084175636B6C616E643111300F06035504080C084175636B6C616E64310B3009060355040613024E5A3020180F31383939313233313132303030305A170D3338303932343033313930355A3081913123302106035504030C1A436861726C65732050726F78792053534C2050726F7879696E6731243022060355040B0C1B687474703A2F2F636861726C657370726F78792E636F6D2F73736C3111300F060355040A0C08584B3732204C74643111300F06035504070C084175636B6C616E643111300F06035504080C084175636B6C616E64310B3009060355040613024E5A30820122300D06092A864886F70D01010105000382010F003082010A02820101008349587455EFB272E397A31D3B52D9B13115C93F320766D2D451117F45C40285506027079ED439CABB94D44F1AE136EB1E79BF77ABE43345AD1D436809CF9E035C439272F3CA917DCADD7FBD0E3929F1A345F0B89096130BBD116F8D3AB5655789B7B0831325BD22903F198DA6BDDA30C08DFD17CE9AB51C48555264307BCF789A2B6C48DF4ECAF3EA2C092EE737AD8F397900AC03303BFE2AE43549030A7866CB6FE9B04B9F6EC498B4E7369E99B45491BF093858A77C72F8ADC818E018D413265E39446BE514F78EB57A23AA88F630776F861A9163E04AD38EE8A5C9219D0FC23F6B9A6324455DEA6F4A6A251ECA1FA3D6288CB89FD12A2062A3A015A56F250203010001A381BC3081B9300F0603551D130101FF040530030101FF307706096086480186F842010D046A136853534C2050726F7879696E6720697320656E61626C656420696E20436861726C65732050726F78792E20506C6561736520766973697420687474703A2F2F636861726C657370726F78792E636F6D2F73736C20666F72206D6F726520696E666F726D6174696F6E2E300E0603551D0F0101FF040403020204301D0603551D0E04160414BB27F4CB2EB6DBB058101BBD803F38D208D76129300D06092A864886F70D010105050003820101000041F935F30B209E56360F7E3D9C30314A213323C47EDCEA1467600A50FFE4E8E39DFCA8C8D34463C34745FF04C870F1DF28BB772DB0CF1BCA677B70842C742BC6D5FB00559AD643C6BF2C95BD0B855A961D7D6A3EADA9C642E9A789474C4AD838C6F732D8D859548D30829DF7A32D098FE3F00147DAF08C0B37DD597184C1E27A61EA42050C73994E809013CB21E37BF84BF923BCEFEA6164FD28AB9058CCC48F1F486FC1C47EBD8A9C933F542401B11F36A003E47B141A41C7B326D18D023E11EDB445699AA44800254EA33F174FD5EB1CCCE6A09365751FF905988C06315B5575067BF65EC24CAD1A6A601846D1D2F51F1F420A2762990B044000619D1C84');
EOF
fi
}
for SQLITEDBPATH in ~/Library/Developer/CoreSimulator/Devices/*/data/Library/Keychains/TrustStore.sqlite3; do
echo $SQLITEDBPATH
install
done
echo "The Charles SSL CA Certificate has been installed for the iPhone Simulator"
Quelques points à noter:
- vous devez ouvrir Charles avant de lancer le simulateur. Si vous fermez Charles, les requêtes réseau échoueront jusqu'à ce que vous redémarriez le simulateur
- vous devrez le faire chaque fois que vous "Réinitialisez le contenu et les paramètres ..." sur le simulateur
- Pour Xcode 5: si vous souhaitez configurer Charles Proxy sur Xcode 5 et versions antérieures, vous n'avez pas besoin de modifier le script d'origine. Téléchargez-le simplement à partir du site Web de Charles et exécutez-le tel quel
Je viens de tester Charles sur le simulateur Xcode 7 / iOS9. Juste quelques conseils que je souhaite ajouter si vous rencontrez des problèmes:
la source
D'après la documentation de Charles
Lisez ici
Alors quittez simplement votre simulateur, ouvrez charles, puis exécutez à nouveau l'application. Après cela, vous pouvez suivre vos appels réseau.
REMARQUE: vos appels réseau échoueront si vous quittez Charles. Vous devrez donc soit quitter le simulateur et le relancer, soit rouvrir Charles.
la source
Une autre façon de le faire consiste à accéder au certificat http://charlesproxy.com/charles.crt sur l'appareil
qui vous présentera l'écran:
la source
Mise à jour pour iOS 9: vous devez désactiver App Transport Security pour utiliser Charles!
http://www.charlesproxy.com/documentation/using-charles/ssl-certificates/
la source
Je n'ai pas vu le script shell de configuration sur cette page. J'ai fait ce qui suit et cela a fonctionné pour moi:
http://raptureinvenice.com/getting-the-charles-debugging-proxy-to-work-with-ios-and-genymotion/
la source
Regarde ça:
Vous pouvez le vérifier sur ce lien: http://www.charlesproxy.com/documentation/faqs/ssl-connections-from-within-iphone-applications/
la source
L'installation du certificat racine Charles dans les simulateurs iOS ne fonctionne pas dans la version actuelle de CharlesProxy (3.11) avec les simulateurs Xcode 7 / iOS 9.
À la place, utilisez l'option «Installer le certificat racine Charles sur un appareil mobile ou un navigateur distant ...». Cela vous donnera une URL pour le certificat.
Si vous ouvrez cette URL dans Safari dans le simulateur, vous aurez alors la possibilité d'installer le certificat.
Vous devez toujours désactiver la sécurité du transport des applications. Je ne comprends pas pourquoi cela est nécessaire lorsque le certificat est installé; Je suppose que CharlesProxy n'utilise pas de clés / signatures suffisamment grandes.
la source
Juste (re) démarrer le simulateur après que Charles ait commencé à le réparer pour moi.
la source
Pour ceux qui sont aux prises avec des connexions non fiables sur les simulateurs de Xcode 9 beta:
Je ne sais pas si le script d'installation fonctionne ou non, mais vous pouvez installer le certificat de charles de la même manière que sur un appareil physique - via Safari.
Dernière étape nécessaire (bien sûr après l'installation du certificat via un script ou via Safari): Allez dans les paramètres de Simluator -> général -> à propos -> Paramètres de confiance du certificat -> Charles Proxy Custom Root ... -> activer 💥
la source
Étapes pour le simulateur iOS.
Étapes pour iPhone / iPad.
Aller au menu Charles -> Aide -> SSL Proxying -> Installer Charles Ceritificate sur un appareil mobile ou un navigateur distant -> Sélectionner -> une fenêtre contextuelle apparaît avec les étapes ci-dessous `
Accédez aux paramètres de l'iPhone -> Wifi -> cliquez sur le wifi sélectionné -> Proxy Http -> Configurer le proxy -> sélectionnez Manuel -> Donner le serveur comme 192.168.0.100 et portez comme 8888 -> Enregistrer
Aller au navigateur iPhone -> Charger chls.pro/ssl -> Il apparaîtra ci-dessous popup `
Cliquez sur le bouton Autoriser -> Il téléchargera le profil
la source
Pour moi, c'est ce qui a fonctionné.
J'ai fait la même chose que nous faisons dans l'appareil.
Je dois le faire sur 3 instances de simulateur, car les tests d'automatisation XCUI peuvent en tourner 3.
la source
Cela fonctionne pour moi après être allé au safari (simulateur) et visiter l'URL:
Avant de devoir installer le certificat racine charles dans les simulateurs iOS (Charles: help / SSLproxying)
Cordialement
la source