SSL certifikáty
Charles generuje vlastní certifikáty pro weby, které podepisuje pomocí kořenového certifikátu Charles, který je jedinečně vygenerován pro vaši instalaci systému Charles (od verze 3.10). Když prohlížeč nebo jiná aplikace obdrží tento certifikát, zobrazí se varování, protože kořenový certifikát Charles není v seznamu důvěryhodných kořenových certifikátů. Viz část SSL proxying.
Můžete se rozhodnout, že budete trvale důvěřovat certifikátu každého webu, jakmile se s ním setkáte, a v takovém případě nemusíte kořenovému certifikátu Charles důvěřovat. Pokud chcete automaticky důvěřovat každému certifikátu vydanému společností Charles, pokračujte podle těchto pokynů.
Následující pokyny jsou určeny pro různé prohlížeče a aplikace, které vám pomohou důvěřovat kořenovému certifikátu Charles, takže se již nebudou zobrazovat varování o certifikátu.
Poznamenejte, že přístup ke kořenovému certifikátu Charles se změnil s verzí 3.10 aplikace Charles, takže pokud jste již tento postup provedli pro starší verzi aplikace Charles, budete jej muset provést znovu.
Windows / Internet Explorer
V aplikaci Charles přejděte do nabídky Nápověda a vyberte „SSL Proxying > Install Charles Root Certificate“. Zobrazí se okno s upozorněním, že kořenový certifikát certifikační autority není důvěryhodný.
Klepnutím na tlačítko „Instalovat certifikát“ spustíte Průvodce importem certifikátu. Certifikát musí být importován do úložiště certifikátů „Důvěryhodné kořenové certifikační autority“, proto přepište automatický výběr úložiště certifikátů.
Dokončete průvodce a váš kořenový certifikát Charles je nyní nainstalován. Možná bude nutné restartovat IE, než se instalace projeví.
Mozilla Firefox
Nejprve se ujistěte, že je Firefox připojen ke službě Charles. Měli byste vidět, že se prohlížení z Firefoxu zaznamenává do Charlese.
Navštivte https://chls.pro/ssl ve Firefoxu. Zobrazí se dialogové okno pro import certifikátu. Zaškrtněte možnost „Důvěřovat této certifikační autoritě pro identifikaci webových stránek“ a dokončete import.
macOS
V systému Charles přejděte do nabídky Nápověda a vyberte „SSL Proxying > Instalovat kořenový certifikát Charles“. Otevře se přístup do klíčenky. Najděte položku „Charles Proxy…“ a poklepáním na ni získáte informace. Rozbalte část „Důvěra“ a vedle položky „Při použití tohoto certifikátu“ změňte nastavení z „Použít výchozí nastavení systému“ na „Vždy důvěřovat“. Poté zavřete okno s informacemi o certifikátu a budete vyzváni k zadání hesla správce pro aktualizaci nastavení důvěryhodnosti systému.
Možná budete muset ukončit a znovu otevřít Safari, aby se změna zobrazila.
zařízení iOS
- V aplikaci Nastavení > Nastavení Wifi nastavte zařízení iOS tak, aby používalo Charles jako proxy server HTTP.
- Otevřete Safari a přejděte na https://chls.pro/ssl. Safari vás vyzve k instalaci certifikátu SSL.
- Pokud používáte iOS 10.3 nebo novější, otevřete aplikaci Settings.app a přejděte na General > About > Certificate Trust Settings, najděte certifikát Charles Proxy a zapněte jej, abyste mu mohli plně důvěřovat (Více informací o této změně v iOS 10).
- Nyní byste měli být schopni přistupovat k webovým stránkám SSL s Charlesem pomocí SSL Proxying.
Charles podporuje App Transport Security (ATS) od verze 3.11.4.
Simulátory iOS
Ukončete simulátor iOS. Spusťte aplikaci Charles a přejděte do nabídky Nápověda. Vyberte položku „SSL Proxying > Install Charles Root Certificate in iOS Simulators“. Tím nainstalujete kořenový certifikát Charles do všech svých simulátorů iOS. Nyní byste při spuštění Simulátoru iOS měli být schopni přistupovat k webovým stránkám SSL s Charlesem pomocí SSL Proxying.
tvOS
Pro změnu nastavení proxy v tvOS musíte použít Apple Configurator 2 z App Store.
- Vytvořit nový profil
- Přidat globální HTTP Proxy payload
- Typ proxy: Vyplňte proxy server a port tak, aby ukazoval na Charlese na vašem stolním počítači. Uživatelské jméno ani heslo není vyžadováno.
- Přidejte kořenový certifikát Charles v užitečném zatížení Certifikáty:
- V aplikaci Charles vyberte v nabídce Nápověda > SSL Proxying možnost Uložit kořenový certifikát Charles a z rozevírací nabídky Typ souboru vyberte formát .cer.
- V nástroji Apple Configurator 2 přidejte užitečné zatížení Certifikáty pomocí tohoto souboru.
Nainstalujte konfigurační profil do Apple TV.
Poté přejděte do Nastavení > Obecné > O aplikaci > Certifikáty a povolte důvěryhodnost certifikátu Charles Proxy.
Android
Od systému Android N je třeba přidat konfiguraci do aplikace, aby důvěřovala certifikátům SSL generovaným službou Charles SSL Proxying. To znamená, že SSL Proxying můžete používat pouze u aplikací, které ovládáte.
Abyste mohli aplikaci nakonfigurovat tak, aby důvěřovala společnosti Charles, musíte do ní přidat konfigurační soubor zabezpečení sítě. Tento soubor může přepsat výchozí nastavení systému a umožnit vaší aplikaci důvěřovat certifikátům CA nainstalovaným uživatelem (např. kořenovému certifikátu Charles). Můžete určit, že to bude platit pouze v odladěných sestaveních vaší aplikace, takže produkční sestavení budou používat výchozí profil důvěryhodnosti.
Přidejte do své aplikace soubor res/xml/network_security_config.xml:
<network-security-config>
<debug-overrides>
<trust-anchors>
<!-- Trust user added CAs while debuggable only -->
<certificates src="user" />
</trust-anchors>
</debug-overrides>
</network-security-config>
Poté přidejte odkaz na tento soubor do manifestu své aplikace takto:
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application android:networkSecurityConfig="@xml/network_security_config" ... >
...
</application>
</manifest>
Google Chrome
V systému MacOS postupujte podle pokynů pro systém MacOS uvedených výše. Tyto pokyny platí pouze pro systém Windows.
V aplikaci Charles přejděte do nabídky Nápověda a vyberte možnost „SSL Proxying > Uložit kořenový certifikát Charles“. Kořenový certifikát uložte jako binární certifikát (.cer) na plochu nebo někam, kde k němu budete mít v dalším kroku snadný přístup.
V prohlížeči Chrome otevřete Nastavení. V dolní části stránky s nastavením klikněte na tlačítko „Upřesnit“, čímž otevřete část pro pokročilé, a poté klikněte na tlačítko „Spravovat certifikáty…“.
Přejděte na kartu „Důvěryhodné kořenové certifikační autority“ a klikněte na tlačítko „Importovat…“.
Najděte soubor certifikátu, který jste v předchozím kroku uložili od společnosti Charles, a klikněte na tlačítka Další a Dokončit, přičemž ponechte výchozí možnosti, dokud nedokončíte import. Chrome nyní bude vždy důvěřovat certifikátům podepsaným společností Charles.
Po importu můžete uložený soubor certifikátu odstranit.
Aplikace Java
Kořenový certifikát Charles můžete přidat do úložiště důvěryhodnosti kořenových certifikátů v Javě, všechny aplikace Java pak budou důvěřovat certifikátům, které vydává společnost Charles. Upozorňujeme, že to může být nutné provést při každé aktualizaci instalace Javy.
V systému Charles přejděte do nabídky Nápověda a zvolte „SSL Proxying > Uložit kořenový certifikát Charles“. Uložte kořenový certifikát jako certifikát v kódování Base 64 (.pem) na plochu nebo někam, kde k němu budete mít v dalším kroku snadný přístup.
Nyní najděte soubor cacerts, měl by být v adresáři $JAVA_HOME/jre/lib/security/cacerts, kde $JAVA_HOME je domovský adresář Javy pro JVM, který používáte.
V Linuxu bude pravděpodobně již nastaven adresář $JAVA_HOME. V systému MacOS, pokud není nastaven, zkuste spustit /usr/libexec/java_home, abyste zjistili umístění vašeho JVM.
Poté zadejte (místo $JAVA_HOME a příslušné cesty k certifikátu):
sudo keytool -import -alias charles -file ~/Desktop/charles-ssl-proxying-certificate.pem -keystore JAVA_HOME/jre/lib/security/cacerts -storepass changeit
(changeit je výchozí heslo v souboru cacerts)
V systému Windows možná budete muset výše uvedený příkaz spustit z příkazového řádku jako správce a odstranit „sudo“ na začátku řádku.
Poté zkuste:
keytool -list -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit
Pokud máte více instalací Javy, možná budete muset zjistit, které z nich používáte ke spuštění aplikace, a provést tento postup na příslušné z nich. Nebo to proveďte na všech svých instalacích Javy.
V systému MacOS má modul Java Plugin svůj soubor cacerts na adrese /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/security. Do tohoto souboru cacerts byste měli přidat kořenový certifikát Charles, pokud chcete, aby applety spuštěné v prohlížeči důvěřovaly Charlesovi.
Python
Modul requests v Pythonu selže s chybou, když se jej pokusíte použít s proxy serverem SSL v Charlesovi:
requests.exceptions.SSLError: certificate
verify failed (_ssl.c:590)
Můžete nakonfigurovat požadavky tak, aby důvěřovaly vašemu kořenovému certifikátu Charles. Nejprve uložte svůj certifikát jako soubor .pem pomocí nabídky Nápověda > SSL Proxying > Uložit kořenový certifikát Charles. Poté nakonfigurujte relaci následujícím způsobem:
from requests import Session
session = Session()
session.verify = "charles-ssl-proxying-certificate.pem"
Děkujeme Felipe Ferrimu za poskytnutí tohoto ukázkového kódu.
.