Kuinka käsitellä SSL-sertifikaattia Selenium
⚡ Älykäs yhteenveto
SSL-varmennevirheet pysäyttävät Selenium testaa hetkeä, kun selain hylkää epäluotettavan tai vanhentuneen varmenteen, joten jokainen WebDriver-skripti tarvitsee selainkohtaisen ominaisuuden, joka hyväksyy varmenteen ja sallii automaation jatkua.
SSL-sertifikaatti sisään Selenium
SSL (Secure Sockets Layer) on standardi suojausprotokolla, jolla luodaan suojattu yhteys palvelimen ja asiakkaan, joka on selain, välille.
SSL-varmenne suojaa palvelimen ja asiakassovelluksen välillä liikkuvaa dataa vahvalla salauksella ja digitaalisella allekirjoituksella. Sivuston omistaja asentaa joko SSL-varmenteen tai koodin allekirjoitusvarmenteen.
SSL-sertifikaatin edut
SSL-sertifikaatin käyttämisessä on monia etuja, kuten
- Voit lisätä käyttäjiensä ja asiakkaidensa luottamusta liiketoiminnan nopean kasvun edistämiseksi
- Nämä varmenteet auttavat turvaamaan online-tapahtumat ja asiakkaiden arkaluontoiset tiedot, kuten luotto-/pankkikorttitiedot jne.
- Varmenteen allekirjoitus saa yleensä maksimimäärän latauksia ja hyviä arvosteluja käyttäjiltä.
SSL-suojatut verkkosivustot alkavat https:// ja näet lukkokuvakkeen tai vihreän osoitepalkin, jos yhteys on muodostettu turvallisesti.
Jos esimerkiksi haluat tehdä jonkin tapahtuman verkkopankin kautta tai haluat ostaa a Puhelinnumero puhelimitse verkkokauppasivuston kautta, kuten Flipkart tai Amazon.
Mitä tapahtuu verkkoselaimen ja palvelimen välillä
- Selain yrittää muodostaa yhteyden SSL-suojattuun verkkosivustoon. Selain pyytää verkkopalvelinta tunnistamaan itsensä
- Palvelin lähettää selaimelle kopion SSL-sertifikaatistaan
- Selain tarkistaa, onko SSL-varmenne aito. Jos näin on, se lähettää viestin palvelimelle
- Palvelin lähettää takaisin digitaalisesti allekirjoitetun kuittauksen SSL-salatun istunnon aloittamisesta
- Salatut tiedot jaetaan palvelimen ja selaimen välillä
Korttinumerot ja kirjautumistiedot kulkevat kyseisen istunnon aikana, joten tiedonvaihdon on pysyttävä salattuna päästä päähän eikä sitä voida siepata.
Esimerkiksi alla oleva lukkosymboli ja osoiterivi vahvistavat, että varmenne hyväksyttiin.
- Tyyppi https://netbanking.hdfcbank.com/netbanking/ .
- Hit Enter.
- Näet selaimessa vihreän osoitepalkin seuraavasti: -
Kuinka SSL-sertifikaatti luo suojatun yhteyden
Alla oleva kaavio traces kättely, ja sitä seuraavat numeroidut vaiheet selittävät jokaisen kädenvaihdon.
- selain lähettää HTTPS-pyynnön palvelimelle.
- Nyt palvelimen on annettava selaimelle jokin tunniste sen luotettavuuden osoittamiseksi. Tämä voidaan tehdä lähettämällä kopio sen SSL-sertifikaatista selaimeen.
- Jokaisella selaimella on oma luettelo luotetuista varmentajista. Selain tarkistaa varmenteen juuren luotettujen CA:iden luetteloon nähden ja tarkistaa, että varmenne ei ole vanhentunut, peruutettu ja että yleinen nimi on kelvollinen verkkosivustolle, johon se muodostaa yhteyden.
- Jos selain luottaa varmenteeseen, palvelimen ja selaimen välille luodaan salattu istunto.
- Palvelin ja selain voivat lähettää salattuja viestejä
SSL-sertifikaattien tyypit
Selain ja palvelin käyttävät SSL-sertifikaattimekanismia voidakseen muodostaa suojatun yhteyden. Tämä yhteys sisältää kolmen tyyppisen varmenteen tarkistamisen.
- root
- väli-
- Palvelinvarmenne
SSL-sertifikaatin hankkimisprosessi
SSL-varmenteen hankintaprosessi sisältää seuraavat vaiheet: -
- Ensin sinun on luotava CSR-pyyntö (luo sertifikaatin allekirjoituspyyntö).
- CSR-pyyntö luo CSR-datatiedoston, joka lähetetään SSL-varmenteen myöntäjälle, joka tunnetaan nimellä CA (Certificate Authority).
- Varmentaja käyttää CSR-datatiedostoja SSL-varmenteen luomiseen palvelimellesi.
- Kun olet saanut SSL-sertifikaatin, sinun on asennettava se palvelimellesi.
- Asennettavaksi tarvitaan myös välisertifikaatti, joka yhdistää SSL-sertifikaattisi CA:n juurivarmenteeseen.
Alla oleva kuva edustaa kaikkia kolmea sertifikaattia Pää-, keskitason ja palvelinsertifikaatti.
Kuinka SSL-varmenteet varmistetaan
SSL toimii verkkopalvelintietokoneessa ja verkkopalvelimen selaimessa olevien ohjelmien ja salaus-/salauksenpurkurutiinien yhdistelmän kautta.
SSL-sertifikaatti sisältää periaatteessa alla olevat tiedot.
- Aihe, joka on verkkosivuston omistajan henkilöllisyys.
- Voimassaolotiedot - julkinen ja yksityinen avain.
Yksityinen ja julkinen avain ovat kaksi yksilöllisesti toisiinsa liittyvää kryptografista avainta (numeroa). Julkisella avaimella salattu asia voidaan purkaa vain yksityisellä avaimella. Selain näyttää nämä kentät varmenteen tarkistuksen yhteydessä, kuten alla.
Kun suojattua yhteyttä ei muodosteta palvelimen ja asiakkaan välille varmenteen vuoksi, seuraava SSL-sertifikaattivirhe ilmenee.
SSL-varmennevirheiden tyypit
Oletetaan, että kirjoitat https-pyynnön ja selain vastaa "Tämä yhteys ei ole luotettu" tai "Sivuston suojausvarmenteeseen ei luoteta". Selain ei voinut muodostaa suojattua yhteyttä esitetyllä varmenteella, joten se pysähtyy ja pyytää käyttäjää ryhtymään asianmukaisiin toimiin.
Eri selaimissa todennäköisesti näkemäsi sertifikaatin tyypit voivat olla jokseenkin tämän kaltaisia
- TulipaloFox - Tämä yhteys on epäluotettava
- Google Chrome – Tämän sivuston tietoturvaan ei luoteta
- Internet Explorer (IE) – Luotettu sertifikaattiviranomainen (CA) ei luottanut tähän tämän sivuston tarjoamaan suojausvarmenteeseen
Alla oleva kuvakaappaus näyttää epäluotettavan varmenteen tuottaman väliikkunan.
Kuinka käsitellä SSL-sertifikaattivirhettä käyttämällä Selenium Web-ohjain
Oletetaan testiskripti osuu yllä olevaan ”Epäluotettava yhteys” -sivuun. Skriptiä on muutettava niin, että se hoitaa SSL-poikkeuksen itse, pelkästään automaatio.
Muutos riippuu käytettävästä selaininstanssista, ja tässä kohtaa halutut ominaisuudet tulevat kuvaan. Halutut ominaisuudet määrittävät ajuriesiintymän Selenium Webdriver, mukaan lukien ChromeDriver, FirefoxOhjain ja Internet Explorer.
Alla olevat vaiheet voidaan lisätä Selenium skripti, joka poistaa "Epäluotettava yhteys" -tilanteen jokaisessa selaimessa.
⚠️ Selenium Vuoden 4 huomautus: DesiredCapabilities-luokka poistettiin vuonna Selenium 4. Selaimen asetusluokat sisältävät nyt saman asetuksen yhden W3C-ominaisuuden kautta. hyväksy turvattomat varmenteet.
| selain | Selenium 4-luokka | Puhelu |
|---|---|---|
| kromi | Chrome-asetukset | setAcceptInsecureCerts(true) |
| Firefox | FirefoxVaihtoehdot | setAcceptInsecureCerts(true) |
| Edge | EdgeOptions | setAcceptInsecureCerts(true) |
| safari | Javascripttäytäntöönpanija | väliaikainen ohitusskripti |
ChromeOptions options = new ChromeOptions(); options.setAcceptInsecureCerts(true); WebDriver driver = new ChromeDriver(options);
SSL-sertifikaattivirheiden käsittely Firefox
SSL-sertifikaattivirheen käsittelyyn Firefox, meidän on käytettävä haluttuja ominaisuuksia Selenium Webdriver ja noudata seuraavia ohjeita.
Vaihe 1) Ensin meidän täytyy luoda uusi Firefox profiili sanoa "profiilini".
Vaihe 2) Käytä nyt komentosarjan myProfilea alla kuvatulla tavalla ja luo FirefoxProfiiliobjekti.
ProfilesIni prof = new ProfilesIni() FirefoxProfile ffProfile= prof.getProfile ("myProfile")
Vaihe 3) Nyt meidän on asetettava Fire-palvelimen ominaisuudet ”setAcceptUntrustedCertificates” ja ”setAssumeUntrustedCertificateIssuer”. Fox profiili.
ffProfile.setAcceptUntrustedCertificates(true) ffProfile.setAssumeUntrustedCertificateIssuer(false)
Vaihe 4) Käytä nyt TultaFox profiili FiressäFox kuljettajan esine.
WebDriver driver = new FirefoxDriver (ffProfile)
Huomautus: "setAcceptUntrustedCertificates"Ja"setAssumeUntrustedCertificateIssuer"ovat ominaisuuksia, jotka käsittelevät varmennevirheitä verkkoselaimissa."
⚠️ Versiohuomautus: profiilipohjainen koodi yllä oleviin kohteisiin Selenium 2 ja Selenium 3. Päällä Selenium 4 Profiili on kiinnitetty FirefoxVaihtoehdot ja Firefox hyväksyy oletuksena suojaamattomat sertifikaatit.
SSL-varmenteen virheiden käsittely Chromessa
SSL-virheen käsittelemiseksi Chromessa alla oleva DesiredCapabilities-objekti hyväksyy kaikki SSL-varmenteet, joten käyttäjä ei näe varmennevaroitusta suorituksen aikana.
Meidän on luotava DesiredCapabilities-luokan esiintymä seuraavasti: -
DesiredCapabilities handlSSLErr = DesiredCapabilities.chrome () handlSSLErr.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true) WebDriver driver = new ChromeDriver (handlSSLErr);
⚠️ Versiohuomautus: CapabilityType.ACCEPT_SSL_CERTS kuuluu vanhaan JSON Wire Protocol -protokollaan. Korvaa se aiemmin näytetyllä ChromeOptions-koodinpätkällä suorituksen aikana. Selenium 4.
SSL-sertifikaatin virheiden käsittely IE:ssä
Toisin kuin SSL-varmenteiden käsittely Chrome-selaimessa ja FirefoxIE:ssä saatat joutua käsittelemään sitä käyttämällä javascript.
Voit käsitellä SSL-varmennetta IE:ssä kahdella tavalla.
menetelmä 1) Napsauta välilehdellä olevaa linkkiä ”Jatka tälle verkkosivustolle (ei suositella)”. Linkin tunniste on ”overridelink”, jonka voit vahvistaa F12-näppäimellä avattavassa HTML-ruudussa, kuten alla olevassa kuvakaappauksessa näkyy.
Napsauta linkkiä käyttämällä driver.navigate()-menetelmää JavaSkripti alla olevan mukaisesti: -
driver.navigate ().to ("javascript:document.getElementById('overridelink').click()");
menetelmä 2) Toinen menetelmä on melko samanlainen kuin Chromen SSL-käsittelykoodi.
DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); System.setProperty("webdriver.ie.driver","IEDriverServer.exe"); WebDriver driver = new InternetExplorerDriver(capabilities);
Yllä oleva koodi auttaa käsittelemään SSL-sertifikaattivirheitä IE:ssä.
⚠️ Versiohuomautus: Internet Explorer 11 poistettiin käytöstä kesäkuussa 2022. Suorita sama skenaario seuraavilla alueilla: Microsoft Edge EdgeOptionsilla tai aja Edge IE-tilassa, jos vanha sovellus sitä edelleen vaatii.





