Kuidas käsitleda SSL-sertifikaati Selenium
⚡ Nutikas kokkuvõte
SSL-sertifikaadi vead peatavad Selenium testida hetke, mil brauser keeldub usaldamatust või aegunud sertifikaadist, seega vajab iga WebDriveri skript brauseripõhist funktsiooni, mis aktsepteerib sertifikaadi ja võimaldab automatiseerimisel jätkuda.
SSL-sertifikaat sees Selenium
SSL (Secure Sockets Layer) on standardne turvaprotokoll turvalise ühenduse loomiseks serveri ja kliendi ehk brauseri vahel.
SSL-sertifikaat kaitseb serveri ja kliendirakenduse vahel liikuvaid andmeid tugeva krüptimise ja digitaalallkirjaga. Saidi omanik installib kas SSL-sertifikaadi või koodiallkirjastamise sertifikaadi.
SSL-sertifikaadi eelised
SSL-sertifikaadi kasutamisel on mitmeid eeliseid, näiteks
- Ettevõtluse kiireks kasvuks saab suurendada nende kasutajate ja klientide usaldust
- Need sertifikaadid aitavad kaitsta veebitehinguid ja klientide tundlikku teavet, nagu krediit-/deebetkaardi andmed jne.
- Sertifikaadi allkirjastamine kipub saama maksimaalselt allalaadimisi ja kasutajatelt häid kommentaare.
SSL-turvatud veebisaidid algavad https:// ja kui ühendus on turvaliselt loodud, näete lukuikooni või rohelist aadressiriba.
Näiteks kui soovite teha mõne tehingu netipanga kaudu või soovite osta a mobiilne telefoni teel e-kaubanduse saidi kaudu, näiteks Flipkart või Amazon.
Mis juhtub veebibrauseri ja serveri vahel
- Brauser proovib luua ühenduse SSL-iga kaitstud veebisaidiga. Brauser palub veebiserveril end tuvastada
- Server saadab brauserile oma SSL-sertifikaadi koopia
- Brauser kontrollib, kas SSL-sertifikaat on ehtne. Kui jah, saadab see serverile sõnumi
- Server saadab tagasi digitaalselt allkirjastatud kinnituse SSL-krüptitud seansi alustamiseks
- Krüpteeritud andmeid jagatakse serveri ja brauseri vahel
Selle seansi jooksul liiguvad kaardinumbrid ja sisselogimisandmed, seega peab andmevahetus jääma otsast lõpuni krüpteerituks ja seda ei saa pealt kuulata.
Näiteks allpool olev tabalukk ja aadressiriba kinnitavad, et sertifikaat aktsepteeriti.
- KASUTUSALA https://netbanking.hdfcbank.com/netbanking/ .
- Vajuta Enter.
- Näete brauseris rohelist aadressiriba järgmiselt: -
Kuidas SSL-sertifikaat turvalise ühenduse loob
Allolev diagramm traces käepigistus ja järgnevad nummerdatud sammud selgitavad iga vahetust.
- brauseri saadab serverile HTTPS-i päringu.
- Nüüd peab server andma brauserile identifitseerimise, et tõestada selle usaldusväärsust. Seda saab teha, saates brauserisse selle SSL-sertifikaadi koopia.
- Igal brauseril on oma usaldusväärsete CA-de loend. Brauser kontrollib sertifikaadi juurt oma usaldusväärsete CA-de loendi alusel ja kontrollib, kas sertifikaat on aegunud, tühistamata ja kas üldnimi on kehtiv selle veebisaidi jaoks, millega see ühenduse loob.
- Kui brauser sertifikaati usaldab, luuakse serveri ja brauseri vahel krüpteeritud seanss.
- Server ja brauser saavad saata krüpteeritud sõnumeid
SSL-sertifikaatide tüübid
Brauser ja server kasutavad turvalise ühenduse loomiseks SSL-sertifikaadi mehhanismi. See ühendus hõlmab kolme tüüpi sertifikaatide kontrollimist.
- Juur
- Kesktaseme
- Serveri sertifikaat
SSL-sertifikaadi saamise protsess
SSL-sertifikaadi hankimise protsess hõlmab järgmisi samme:
- Esiteks peate looma CSR-i (sertifikaadi allkirjastamise taotluse) taotluse.
- CSR-i päring loob CSR-i andmefaili, mis saadetakse SSL-sertifikaadi väljaandjale, mida nimetatakse CA-ks (sertifitseerimisasutus).
- CA kasutab teie serverile SSL-sertifikaadi loomiseks CSR-i andmefaile.
- Pärast SSL-sertifikaadi saamist peate selle oma serverisse installima.
- Samuti on vaja installida vahesertifikaat, mis seob teie SSL-sertifikaadi CA juursertifikaadiga.
Allolev pilt esindab kõiki kolme sertifikaati - Juur-, vahe- ja serverisertifikaat.
Kuidas SSL-sertifikaate kontrollitakse
SSL töötab veebiserveri arvutis ja veebiserveri brauseris eksisteerivate programmide ja krüpteerimis-/dekrüpteerimisrutiini kombinatsiooni kaudu.
SSL-sertifikaat sisaldab põhiliselt allolevat teavet.
- Teema, mis on veebisaidi omaniku identiteet.
- Kehtivusinfo – avalik ja privaatvõti.
Privaatne ja avalik võti on kaks unikaalselt seotud krüptograafilist võtit (numbrit). Avaliku võtmega krüpteeritud teavet saab dekrüpteerida ainult privaatvõtmega. Brauser kuvab sertifikaadi kontrollimisel need väljad, nagu allpool näidatud.
Kui sertifikaadi tõttu ei looda serveri ja kliendi vahel turvalist ühendust, ilmneb järgmine SSL-sertifikaadi viga.
SSL-i sertifikaadi vigade tüübid
Oletame, et sisestate https-päringu ja brauser vastab teatega „See ühendus pole usaldusväärne” või „Saidi turvasertifikaati ei usaldata”. Brauser ei suutnud esitatud sertifikaadiga turvatud ühendust luua, seega peatub see ja palub kasutajal võtta vastavad toimingud.
Erinevates brauserites sertifikaadi tõttu tõenäoliselt kuvatavad veatüübid võivad olla sarnased
- TulekahjuFox – See ühendus on ebausaldusväärne
- Google Chrome – Selle saidi turvalisust ei usaldata
- Internet Explorer (IE) – Usaldusväärne sertifitseerimisasutus (CA) ei usaldanud seda sellel veebisaidil esitatud turvasertifikaati.
Allolev ekraanipilt näitab usaldamatu sertifikaadi loodud vaheteadet.
Kuidas käsitleda SSL-i sertifikaadi viga Selenium Veebidraiver
Oletame testiskript jõuab ülalolevale lehele „Usaldamatu ühendus”. Skripti tuleb kohandada nii, et see hoolitseks SSL-erandi eest ise, ainult läbi automaatika.
Muutus sõltub kasutatavast brauseri eksemplarist ja siin tulevadki mängu soovitud võimalused. Soovitud võimalused konfigureerivad draiveri eksemplari Selenium Veebidraiver, sealhulgas ChromeDriver, FirefoxDraiver ja Internet Explorer.
Alltoodud samme saab lisada a-le Selenium skript iga brauseri „Usaldamatu ühenduse” olukorra kõrvaldamiseks.
⚠️ Selenium 4. aasta märkus: DesiredCapabilities klass eemaldati Selenium 4. Brauseri valikute klassid kannavad nüüd sama sätet ühe W3C funktsiooni kaudu. aktsepteeri ebaturvalisi sertifikaate.
| brauseri | Selenium 4 klass | Helista |
|---|---|---|
| Kroom | Chrome'i valikud | setAcceptInsecureCerts(true) |
| Firefox | FirefoxValikud | setAcceptInsecureCerts(true) |
| Edge | EdgeOptions | setAcceptInsecureCerts(true) |
| safari | JavascriptTäitja | ajutine möödaviigu skript |
ChromeOptions options = new ChromeOptions(); options.setAcceptInsecureCerts(true); WebDriver driver = new ChromeDriver(options);
SSL-sertifikaadi vigade käsitlemine Firefox
SSL-sertifikaadi vea käsitlemiseks Firefox, peame kasutama soovitud võimalusi Selenium Veebidraiver ja järgige järgmisi samme.
Step 1) Esmalt peame looma uue Firefox profiil ütle “minu profiil".
Step 2) Nüüd pääsege skriptis alla myProfile'ile ja looge see FirefoxProfiiliobjekt.
ProfilesIni prof = new ProfilesIni() FirefoxProfile ffProfile= prof.getProfile ("myProfile")
Step 3) Nüüd peame Fire'is määrama atribuudid „setAcceptUntrustedCertificates” ja „setAssumeUntrustedCertificateIssuer”. Fox profiil.
ffProfile.setAcceptUntrustedCertificates(true) ffProfile.setAssumeUntrustedCertificateIssuer(false)
Step 4) Nüüd kasutage tuldFox profiil tulesFox juhi vastu.
WebDriver driver = new FirefoxDriver (ffProfile)
Märge: "setAcceptUntrustedCertificates"Ja"setAssumeUntrustedCertificateIssuer„on võimalused veebibrauserites sertifikaadivigade käsitlemiseks.
⚠️ Versiooni märkus: ülaltoodud profiilipõhine kood on suunatud Selenium 2 ja Selenium 3. sisse Selenium 4 profiil on kinnitatud läbi FirefoxValikud ja Firefox aktsepteerib vaikimisi ebaturvalisi sertifikaate.
SSL-i sertifikaadi veakäsitlus Chrome'is
Chrome'is SSL-vea käsitlemiseks aktsepteerib allolev DesiredCapabilities objekt kõiki SSL-sertifikaate, seega ei näe kasutaja käivitamise ajal sertifikaadihoiatust.
Peame looma DesiredCapabilities klassi eksemplari järgmiselt: -
DesiredCapabilities handlSSLErr = DesiredCapabilities.chrome () handlSSLErr.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true) WebDriver driver = new ChromeDriver (handlSSLErr);
⚠️ Versiooni märkus: CapabilityType.ACCEPT_SSL_CERTS kuulub vana JSON Wire Protocoli juurde. Asendage see käivitamisel varem kuvatud ChromeOptionsi koodijupiga. Selenium 4.
SSL-sertifikaadi tõrketöötlus IE-s
Erinevalt SSL-sertifikaatide käsitlemisest Chrome'i brauseris ja FirefoxIE-s peate sellega võib-olla tegelema, kasutades JavaScript.
SSL-sertifikaadi haldamiseks IE-s on selle olukorra käsitlemiseks kaks võimalust.
1. meetod) Klõpsake vaheaknal lingil „Jätka sellele veebisaidile (pole soovitatav)“. Sellel lingil on ID „overridelink“, mille saate kinnitada HTML-paanil, mis avaneb F12-klahviga, nagu alloleval ekraanipildil näidatud.
Klõpsake lingil, kasutades driver.navigate() meetodit koos JavaSkript allpool: -
driver.navigate ().to ("javascript:document.getElementById('overridelink').click()");
2. meetod) Teine meetod on üsna sarnane Chrome'i SSL-i käitlemise koodiga.
DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); System.setProperty("webdriver.ie.driver","IEDriverServer.exe"); WebDriver driver = new InternetExplorerDriver(capabilities);
Ülaltoodud kood aitab IE-s käsitleda SSL-sertifikaadi viga.
⚠️ Versiooni märkus: Internet Explorer 11 eemaldati toest 2022. aasta juunis. Käivitage sama stsenaarium vastu Microsoft Edge EdgeOptionsiga või käivitage Edge IE-režiimis, kui mõni pärandrakendus seda endiselt vajab.





