SSL-varmenteet

Charles luo sivustoille omat varmenteensa, jotka se allekirjoittaa Charles-juurivarmenteella, joka on luotu ainoastaan Charles-asennuksellesi (v3.10 alkaen). Näet varoituksen selaimessasi tai muussa sovelluksessasi, kun se vastaanottaa kyseisen varmenteen, koska Charlesin juurivarmenne ei ole luotettavien juurivarmenteiden luettelossa. Katso SSL-välitys.

Voit valita, että luotat pysyvästi kunkin sivuston varmenteeseen sitä mukaa kuin kohtaat sen, jolloin sinun ei tarvitse luottaa Charlesin juurivarmenteeseen. Jos haluat luottaa automaattisesti jokaiseen Charlesin myöntämään varmenteeseen, jatka näillä ohjeilla.

Seuraavat ohjeet koskevat eri selaimia ja sovelluksia, joiden avulla voit luottaa Charlesin juurivarmenteeseen niin, ettet enää näe varmenteen varoituksia.

Huomaa, että Charlesin juurivarmenteen lähestymistapa muuttui Charlesin versiossa 3.10, joten jos olet jo noudattanut tätä menettelyä Charlesin vanhemmalle versiolle, sinun on tehtävä se uudelleen.

Windows / Internet Explorer

Charlesissa siirry Ohje-valikkoon ja valitse ”SSL-välitystoiminto > Asenna Charlesin juurivarmenne”. Näyttöön tulee ikkuna, jossa varoitetaan, että CA:n juurivarmenteeseen ei luoteta.

Klikkaa ”Install Certificate” (Asenna varmenne) -painiketta käynnistääksesi ohjatun varmenteen tuontiohjelman. Varmenne on tuotava ”Trusted Root Certification Authorities” -varmenneavaruuskauppaan, joten ohita automaattinen varmenneavaruuskauppavalinta.

Suorita ohjattu asennus loppuun ja Charles Root -varmenne on nyt asennettu. Saatat joutua käynnistämään IE:n uudelleen ennen kuin asennus vaikuttaa.

Mozilla Firefox

Varmista ensin, että Firefox on yhteydessä Charlesiin. Sinun pitäisi nähdä Firefoxin selailun tallentuvan Charlesiin.

Käy https://chls.pro/ssl Firefoxissa. Sinulle näytetään varmenteen tuontia koskeva valintaikkuna. Rastita vaihtoehto ”Trust this CA to identify websites” ja suorita tuonti loppuun.

macOS

Charlesissa siirry Ohje-valikkoon ja valitse ”SSL Proxying > Install Charles Root Certificate”. Keychain Access avautuu. Etsi ”Charles Proxy…” -merkintä ja kaksoisnapsauta saadaksesi tietoa siitä. Laajenna ”Luottamus”-osio ja vaihda ”When using this certificate” (Kun käytät tätä varmentetta) -vaihtoehdon ”Use System Defaults” (Käytä järjestelmän oletusasetuksia) -vaihtoehdosta ”Always Trust” (Luota aina) -vaihtoehdoksi. Sulje sitten varmenteen infoikkuna, ja sinua pyydetään antamaan järjestelmänvalvojan salasanasi päivittääksesi järjestelmän luottamusasetukset.

Mahdollisesti sinun on lopetettava ja avattava Safari uudelleen nähdäksesi muutoksen.

iOS-laitteet

  • Aseta iOS-laitteesi käyttämään Charlesia HTTP-välityspalvelimena Asetukset-sovelluksen > Wlan-asetukset -osiossa.
  • Avaa Safari ja selaa kohtaan https://chls.pro/ssl. Safari pyytää sinua asentamaan SSL-varmenteen.
  • Jos käytössäsi on iOS 10.3 tai uudempi, avaa Asetukset.app ja siirry kohtaan Yleiset > Tietoja > Varmenteiden luottamusasetukset ja etsi Charles-välityspalvelimen varmenne ja kytke se päälle ottaaksesi sen täyden luottamuksen käyttöön (Lisätietoja tästä muutoksesta iOS 10:ssä).
  • Nyt sinun pitäisi pystyä käyttämään SSL-verkkosivustoja Charlesilla käyttämällä SSL-välitystoimintoa.

Charles tukee App Transport Security (ATS) -ominaisuutta 3.11.4 -versiosta alkaen.

iOS-simulaattorit

Lopeta iOS-simulaattori. Käynnistä Charles ja siirry Ohje-valikkoon. Valitse kohta ”SSL Proxying > Install Charles Root Certificate in iOS Simulators”. Tämä asentaa Charles-juurivarmenteen kaikkiin iOS-simulaattoreihisi. Nyt kun käynnistät iOS-simulaattorin, sinun pitäisi pystyä käyttämään SSL-verkkosivustoja Charlesin avulla SSL-välityksen avulla.

tvOS

Voidaksesi muuttaa välityspalvelinasetuksia tvOS:ssä sinun on käytettävä Apple Configurator 2:ta App Storen App Storesta.

  • Luo uusi profiili
  • Lisää globaalin HTTP-välityspalvelimen hyötykuormitus
    • Välityspalvelintyyppi: Manual
    • Täytä välityspalvelin ja portti osoittamaan Charlesia pöytäkoneellasi. Käyttäjänimeä tai salasanaa ei tarvita.
  • Lisää Charlesin juurivarmenne Certificates-hyötykuormaan:
    • Charlesissa valitse Help > SSL Proxying -valikosta Tallenna Charlesin Charlesin juurivarmenne valitsemalla .cer-muotoinen tiedostomuoto tiedostotyyppi-pudotusvalikosta.
    • Lisää Certificates-hyötykuorma Applen Configurator 2:ssa käyttämällä tätä tiedostoa.

Asenna konfigurointiprofiili Apple TV:hen.

Mene sitten kohtaan Asetukset > Yleiset > Tietoja > Varmenteet ja ota käyttöön Charles Proxy -varmenteen luottamus.

Android

Android N:stä lähtien sinun on lisättävä sovellukseesi konfiguraatioita saadaksesi sen luottamaan Charlesin SSL-välityksen tuottamiin SSL-varmenteisiin. Tämä tarkoittaa, että voit käyttää SSL-välitystoimintoa vain hallitsemiesi sovellusten kanssa.

Voidaksesi määrittää sovelluksesi luottamaan Charlesiin, sinun on lisättävä sovellukseesi Network Security Configuration File. Tämä tiedosto voi ohittaa järjestelmän oletusarvon, jolloin sovelluksesi voi luottaa käyttäjän asentamiin CA-varmenteisiin (esim. Charlesin juurivarmenteeseen). Voit määrittää, että tätä sovelletaan vain sovelluksesi debug-kehityksissä, jolloin tuotantokehityksissä käytetään oletusluottamusprofiilia.

Lisää sovellukseesi tiedosto 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>

Lisää sitten viittaus tähän tiedostoon sovelluksesi manifestiin seuraavasti:

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

Google Chrome

MacOS:ssä noudata edellä olevia macOS:n ohjeita. Nämä ohjeet pätevät vain Windowsissa.

Charlesissa mene Ohje-valikkoon ja valitse ”SSL Proxying > Save Charles Root Certificate”. Tallenna juurivarmenne binäärivarmenteena (.cer) työpöydällesi tai jonnekin, josta voit helposti käyttää sitä seuraavassa vaiheessa.

Avaa Chromessa Asetukset. Avaa asetussivun alareunassa ”Lisäasetukset”-osio napsauttamalla ”Lisäasetukset” ja napsauta sitten ”Hallitse varmenteita…”-painiketta.

Mene ”Luotettavat juurivarmentajat”-välilehdelle ja napsauta ”Tuo…”

Etsitään varmentamistiedosto, jonka tallensit Charlesista edellisessä vaiheessa ja napsautetaan ”Seuraava”- ja ”Viimeistele”-painikkeita jättäen oletusarvoisina pidetyt asetukset, kunnes tuonti on valmis. Chrome luottaa nyt aina Charlesin allekirjoittamiin varmenteisiin.

Tuonnin jälkeen voit poistaa tallentamasi varmennetiedoston.

Java-sovellukset

Voit lisätä Charlesin juurivarmenteen juurivarmenteen luottamussäilöön Javassa, jolloin kaikki Java-sovellukset luottavat Charlesin myöntämiin varmenteisiin. Huomaa, että sinun on ehkä tehtävä tämä joka kerta, kun päivität Java-asennustasi.

Mene Charlesissa Ohje-valikkoon ja valitse ”SSL Proxying > Save Charles Root Certificate”. Tallenna juurivarmenne Base 64 -koodattuna varmenteena (.pem) työpöydällesi tai jonnekin, josta pääset helposti käsiksi siihen seuraavassa vaiheessa.

Nyt etsi cacerts-tiedosto, sen pitäisi olla osoitteessa $JAVA_HOME/jre/lib/security/cacerts, jossa $JAVA_HOME on käyttämäsi JVM:n java-kotihakemisto.

Linuxissa $JAVA_HOME on luultavasti jo asetettu. MacOS:ssä, jos sitä ei ole asetettu, kokeile suorittaa /usr/libexec/java_home saadaksesi JVM:n sijainnin.

Kirjoita sitten (korvaten $JAVA_HOME ja sopiva polku varmenteeseen):

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

(changeit on cacerts-tiedoston oletussalasana)

Windowsissa joudut ehkä ajamaan yllä olevan komentoriviltä järjestelmänvalvojana ja poistamaan rivin alussa olevan ”sudo”.

Kokeile sitten:

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

Jos sinulla on useita Java-asennuksia, sinun on ehkä selvitettävä, mitä asennuksia käytät sovelluksesi suorittamiseen, ja tehtävä tämä sopivassa asennuksessa. Tai tee se kaikissa Java-asennuksissasi.

MacOS:ssä Java Pluginin cacerts-tiedosto on osoitteessa /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/security. Sinun pitäisi lisätä Charlesin juurivarmenne tuohon cacerts-tiedostoon, jos haluat selaimessa toimivien applettien luottavan Charlesiin.

Python

Pythonin requests-moduuli epäonnistuu virheellä, kun yrität käyttää sitä Charlesin SSL-välityksen kanssa:

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

Voit määrittää requestsin luottamaan Charlesin juurivarmenteeseesi. Tallenna ensin varmenteesi .pem-tiedostoksi käyttämällä Help > SSL Proxying > Save Charles Root Certificate -valikkoa. Määritä sitten istuntosi seuraavasti:

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

Kiitos Felipe Ferrille tämän esimerkkikoodin tarjoamisesta.

Vastaa

Sähköpostiosoitettasi ei julkaista.