SSL tanúsítványok

A Charles saját tanúsítványokat generál a webhelyek számára, amelyeket egy Charles gyökértanúsítvány segítségével ír alá, amely a Charles telepítéséhez egyedileg generált (a v3.10-től kezdve). A böngészőben vagy más alkalmazásban figyelmeztetés jelenik meg, amikor megkapja ezt a tanúsítványt, mivel a Charles gyökértanúsítvány nem szerepel a megbízható gyökértanúsítványok listáján. Lásd: SSL proxying.

Elválaszthatja, hogy állandóan megbízik az egyes webhelyek tanúsítványában, amint találkozik vele, ebben az esetben nem kell megbíznia a Charles gyökértanúsítványban. Ha automatikusan megbízik minden, a Charles által kiállított tanúsítványban, folytassa az alábbi utasításokkal.

A következő utasítások különböző böngészőkre és alkalmazásokra vonatkoznak, hogy segítsenek megbízni a Charles gyökértanúsítványban, hogy többé ne jelenjenek meg tanúsítványfigyelmeztetések.

Megjegyezzük, hogy a Charles gyökértanúsítvány megközelítése a Charles 3.10-es verziójával megváltozott, ezért ha már követte ezt az eljárást a Charles egy régebbi verziójánál, akkor újra el kell végeznie.

Windows / Internet Explorer

A Charlesban lépjen a Súgó menübe, és válassza az “SSL Proxying > Install Charles Root Certificate” menüpontot. Megjelenik egy ablak, amely arra figyelmeztet, hogy a CA gyökértanúsítvány nem megbízható.

Kattintson a “Tanúsítvány telepítése” gombra a tanúsítvány importálás varázsló elindításához. A tanúsítványt a “Trusted Root Certification Authorities” tanúsítványtárolóba kell importálni, ezért írja felül az automatikus tanúsítványtároló kiválasztását.

Töltse ki a varázslót, és a Charles Root tanúsítványa telepítve van. Előfordulhat, hogy újra kell indítania az IE-t, mielőtt a telepítés érvénybe lép.

Mozilla Firefox

Először győződjön meg arról, hogy a Firefox csatlakozik a Charles-hoz. Látnia kell, hogy a Firefox böngészését a Charles rögzíti.

Látogasson el a https://chls.pro/ssl-ra a Firefoxban. Megjelenik egy tanúsítványimportáló párbeszédpanel. Jelölje be a “Trust this CA to identify websites” opciót, és fejezze be az importálást.

macOS

A Charlesban lépjen a Súgó menübe, és válassza az “SSL Proxying > Install Charles Root Certificate” lehetőséget. Megnyílik a kulcstár hozzáférés. Keresse meg a “Charles Proxy…” bejegyzést, és kattintson rá duplán, hogy információt kapjon róla. Bontsa ki a “Bizalom” részt, és a “When using this certificate” mellett változtassa meg a “Use System Defaults” értéket “Always Trust” értékre. Ezután zárja be a tanúsítványinformációs ablakot, és a rendszer kérni fogja a rendszergazda jelszavát a rendszer bizalmi beállításainak frissítéséhez.

Elképzelhető, hogy ki kell lépnie és újra meg kell nyitnia a Safarit, hogy lássa a módosítást.

iOS eszközök

  • Állítsa be iOS készülékét, hogy a Charles-t használja HTTP-proxyként a Beállítások alkalmazás > Wifi beállítások
  • Nyissa meg a Safarit, és keresse meg a https://chls.pro/ssl helyet. A Safari fel fogja kérni az SSL-tanúsítvány telepítését.
  • Ha iOS 10.3 vagy újabb iOS-t használ, nyissa meg a Beállítások.appot, és navigáljon az Általános > Körülbelül > Tanúsítvány megbízhatósági beállítások menüpontba, és keresse meg a Charles Proxy tanúsítványt, és kapcsolja be, hogy engedélyezze számára a teljes bizalmat (További információ erről a változásról az iOS 10-ben).
  • Most már képesnek kell lennie arra, hogy SSL weboldalakat érjen el a Charles segítségével SSL Proxying használatával.

A Charles a 3.11.4-es kiadástól támogatja az App Transport Security-t (ATS).

iOS-szimulátorok

Kilépjen az iOS-szimulátorból. Indítsa el a Charles-t, és lépjen a Súgó menübe. Válassza az “SSL Proxying > Install Charles Root Certificate in iOS Simulators” pontot. Ez telepíti a Charles gyökértanúsítványt az összes iOS-szimulátorába. Most, amikor elindítja az iOS szimulátort, képesnek kell lennie arra, hogy SSL weboldalakat érjen el a Charles segítségével az SSL Proxying használatával.

tvOS

A tvOS proxy beállításainak módosításához az Apple Configurator 2-t kell használnia az App Store-ból.

  • Create a New Profile
  • Add a Global HTTP Proxy payload
    • Proxy Type: Kézi
    • Töltse ki a proxykiszolgálót és a portot, hogy az asztali gépén lévő Charles-ra mutasson. Felhasználónév vagy jelszó nem szükséges.
  • Adja hozzá a Charles gyökértanúsítványt egy tanúsítványok hasznos terhelésben:
    • A Charlesban a Súgó > SSL-proxying menüből válassza a Charles Charles Charles gyökértanúsítvány mentése parancsot, és válassza a .cer formátumot a fájltípus legördülő listából.
    • Az Apple Configurator 2-ben adjon hozzá egy tanúsítványok hasznos terhelést ezzel a fájlal.

Telepítse a konfigurációs profilt az Apple TV-re.

Ezután lépjen a Beállítások > Általános > Rólunk > Tanúsítványok menüpontba, és engedélyezze a Charles Proxy tanúsítvány megbízhatóságát.

Android

Az Android N-től kezdve konfigurációt kell hozzáadnia az alkalmazásához, hogy az megbízzon a Charles SSL Proxying által generált SSL-tanúsítványokban. Ez azt jelenti, hogy csak az Ön által ellenőrzött alkalmazásokkal használhatja az SSL Proxyinget.

Hálózatbiztonsági konfigurációs fájl hozzáadása szükséges ahhoz, hogy az alkalmazása megbízzon a Charles-ban. Ez a fájl felülbírálhatja a rendszer alapértelmezett beállításait, lehetővé téve az alkalmazás számára, hogy megbízzon a felhasználó által telepített hitelesítésszolgáltatói tanúsítványokban (pl. a Charles gyökértanúsítványban). Megadhatja, hogy ez csak az alkalmazás hibakereséses építéseiben legyen érvényes, így a produktív építések az alapértelmezett bizalmi profilt használják.

Adjon hozzá egy res/xml/network_security_config.xml fájlt az alkalmazásához:

<network-security-config> 
<debug-overrides>
<trust-anchors>
<!-- Trust user added CAs while debuggable only -->
<certificates src="user" />
</trust-anchors>
</debug-overrides>
</network-security-config>

Ezután adjon hozzá egy hivatkozást erre a fájlra az alkalmazás manifesztjében, az alábbiak szerint:

<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application android:networkSecurityConfig="@xml/network_security_config" ... >
...
</application>
</manifest>

Google Chrome

MacOS-en kövesse a fenti macOS-re vonatkozó utasításokat. Ezek az utasítások csak Windowson érvényesek.

A Charlesban lépjen a Súgó menübe, és válassza az “SSL Proxying > Save Charles Root Certificate” menüpontot. Mentse a gyökértanúsítványt bináris tanúsítványként (.cer) az asztalára, vagy olyan helyre, ahol a következő lépésben könnyen hozzáférhet.

A Chrome-ban nyissa meg a Beállításokat. A beállítások oldal alján kattintson a “Speciális” gombra a “Speciális” rész megnyitásához, majd kattintson a “Tanúsítványok kezelése…” gombra.

Menjen a “Megbízható gyökértanúsító hatóságok” fülre, és kattintson az “Importálás…” gombra.

Keresze meg a Charlesból az előző lépésben elmentett tanúsítványfájlt, majd kattintson a Tovább és a Befejezés gombra, hagyja az alapértelmezett beállításokat, amíg be nem fejezi az importálást. A Chrome mostantól mindig megbízik a Charles által aláírt tanúsítványokban.

Az importálás után törölheti a mentett tanúsítványfájlt.

Java alkalmazások

A Charles gyökértanúsítványát hozzáadhatja a Java gyökértanúsítványok bizalmi tárolójához, ekkor minden Java alkalmazás megbízik a Charles által kiállított tanúsítványokban. Vegye figyelembe, hogy ezt minden alkalommal meg kell tennie, amikor frissíti a Java telepítését.

A Charlesban lépjen a Súgó menübe, és válassza az “SSL Proxying > Save Charles Root Certificate” menüpontot. Mentsd el a gyökértanúsítványt Base 64 kódolt tanúsítványként (.pem) az asztalodra, vagy olyan helyre, ahol a következő lépésben könnyen elérheted.

Most keresd meg a cacerts fájlt, ennek a $JAVA_HOME/jre/lib/security/cacerts fájlban kell lennie, ahol $JAVA_HOME az általad használt JVM java home könyvtára.

Linuxon a $JAVA_HOME valószínűleg már be lesz állítva. MacOS-en, ha nincs beállítva, próbáld meg futtatni az /usr/libexec/java_home parancsot, hogy megtudd a JVM-ed helyét.

Ezután írja be (a $JAVA_HOME és a tanúsítvány megfelelő elérési útvonalának helyettesítésével):

sudo keytool -import -alias charles -file ~/Desktop/charles-ssl-proxying-certificate.pem -keystore JAVA_HOME/jre/lib/security/cacerts -storepass changeit

(changeit az alapértelmezett jelszó a cacerts fájlban)

Windowson előfordulhat, hogy a fenti parancsot egy parancssorból kell futtatnia rendszergazdaként, és a sor elején lévő “sudo”-t el kell távolítania.

Ezután próbálja meg:

keytool -list -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit

Ha több Java telepítése van, akkor lehet, hogy ki kell találnia, hogy melyiket használja az alkalmazás futtatására, és ezt a megfelelőn kell elvégeznie. Vagy végezze el az összes Java telepítésén.

MacOS-en a Java Plugin cacerts fájlja a /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/security címen található. A Charles gyökértanúsítványt hozzá kell adnia ehhez a cacerts fájlhoz, ha azt szeretné, hogy a böngészőben futó appletek megbízzanak a Charles-ban.

Python

A Python requests modulja hibaüzenettel sikertelen lesz, ha megpróbálja használni a Charles SSL proxyinggal:

 requests.exceptions.SSLError: certificate
verify failed (_ssl.c:590)

A requests-et úgy konfigurálhatja, hogy megbízzon a Charles gyökértanúsítványában. Először mentse el a tanúsítványát .pem fájlként a Súgó > SSL Proxying > Save Charles Root Certificate menüpont segítségével. Ezután konfigurálja a munkamenetet a következőképpen:

from requests import Session
session = Session()
session.verify = "charles-ssl-proxying-certificate.pem"

Köszönjük Felipe Ferri-nek a példakód biztosítását.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.